• Qin.Data发布及 使用说明


      

    背景

    公司的项目开始实体框架,但对于公司的需求其性能不如意.故此开发一个适合公司需求的数据库框架.虽然市面的有很多类似框架,虽然各有所长但短处尤在.对秋天兄的cyq.data的思想颇有所感,cyq的发布使我茅塞顿开.mysoft的风格看似linq进而触发我使用扩展.在此感谢他们.

         简介

         Qin.Data是一个通用数据库处理框架(包含MSSQL ACCESS SQLITE EXCEL MYSQL DB2 ORACLE...只要你愿意实现接口就可以).很便捷地进行常用数据库操作(增删改查).其性能是几近纯ADO.NET.对于实体的查询采用emit实现,如果您还不满意可用此框架的代码生成器直接生成纯ADO.NET SQL形式.其主要特色就是性能和便捷的操作.

        初始化配置 

         

    配置文件
    <appSettings>
            <add key="web" value="NO" />//是否是web开发
            <add key="databaseName" value="MSSQL" />//数据库类型
            <add key="linkString" value="Server=www.wwe.com.cn;database=HD01SystemDB;Uid=ss;Pwd=ss" />//连接字符串
    </appSettings>

         实例

    1)查询. 

     查询实体

              DBTool db=new DBTool(Table.EventBaseSet);//指定表

     db.Where=EventBaseSet.EventID_.Equals_(3);//锁定记录

                      var data=db.GetEntity<EventBaseSet>();//获取实体

     查询指定字段

    DBTool db=new DBTool(Table.EventBaseSet);
                   db.Where=EventBaseSet.EventID_.Equals_(32);

                   var name=db.GetOneField<string>(EventBaseSet.EventID_); 

     多字段查询

                DBTool db=new DBTool(Table.EventBaseSet);
                db.Where=EventBaseSet.EventID_.Equals_(32);
                var row=db.GetDestinationFields(EventBaseSet.EnabledBodyHtml_,EventBaseSet.Days_);

     复合条件查询

                DBTool db=new DBTool(Table.EventBaseSet);

                db.Where=EventBaseSet.EventID_.BiggerThan_(32).And_
                    (EventBaseSet.EventName_.Contains_("你好").OR_(EventBaseSet.Days_.BiggerThan_(22));

     嵌套查询 

                DBTool db=new DBTool(Table.EventBaseSet);

                db.Where= EventBaseSet.Creater_CreaterID_.Equals_(CreaterSet.CreaterID_.SelectFrom_(Table.CreaterSet).Where_(
                    CreaterSet.Name_.EqualsStr_("a")));

     自定实体查询(包括多表查询)

        var sql="复制的sql语句";

        var data=DBTool.Database.GetEntity<自定义实体>(sql); 

     数据插入操作

                DBTool db=new DBTool( Table.CitySet);// db.StartTransaction=true;//是否开启事务db.SetInsertField(CitySet.CName_,"城市1");
                db.SetInsertField(CitySet.CID_,
    "10001");
                db.SaveChanges();
                var newID
    =db.NewID;//新生成的自增主键
     

     数据更新操作
                
    //更新数据--------------
                db.SetUpdateField(CitySet.CName_,"城市一");
                db.SetUpdateField(CitySet.CID_,
    "1--1");
                db.Where
    CitySet.
    CID_.Equals_(2)
                db.SaveChanges();
                
    //-----------------------

     数据删除

                db.DeleteWhere(EventBaseSet.EventID_.Equals_(2));

                db.SaveChanges();

    代码及实体生成 

     

    QQ:564064202欢迎指教. 




    少侠,我看你气度不凡天赋异禀,这么帅,来了就给推荐一把吧




    我的最近更新
    最新发布文章、框架、咨询等,来看看吧
  • 相关阅读:
    modesim仿真
    EP3C系列FPGA的JTAG检测不了,JTAG下载失败,AS可以下载,下载完成后不执行程序
    本机修改虚拟机linux中的代码文件
    linux中的diff命令
    php中的elseif和else if
    php将数据写入另外一个文件
    IE6下的png不透明问题
    cookie的封装
    php从接口获取数据转成可以用的数组或其他(含转换编码)
    如何让后加载的元素被一开始就有的css样式渲染成功(强制提升css优先级)
  • 原文地址:https://www.cnblogs.com/humble/p/2180449.html
Copyright © 2020-2023  润新知