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欢迎指教. 

posted @ 2011-09-18 15:20  [秦时明月]  阅读(716)  评论(11编辑  收藏  举报