Dapper.Rainbow 简单使用

一.  Dapper 简介
       一个效率比较高的微型ORM。
 
二 . Dapper.Rainbow
       Dapper的扩展,在这个扩展里面实现了 Dynamic 的 插入和更新,这个对于使用动态类型的对象很有用,可以少建很多贫血型的实体类。
 
三 . Dynamic
       Dynamic 这是一把双刃剑,在提高效率的同时,也增加了出错的机会。的确要合理使用。
 
四.  Dapper.Rainbow的使用
 
      
       // Api 名称
       public virtual long Insert([Dynamic] dynamic data);
       public long InsertOrUpdate([Dynamic] dynamic data);
       public int Update(TId id, [Dynamic] dynamic data);       
       
       // 示列代码
       new ConfigContext().Init().Job.Insert(dynamic T);
       new ConfigContext().Init().Job.InsertOrUpdate(dynamic T);
       new ConfigContext().Init().Job.Update(dynamic T)
   
        public class ConfigContext : Database<ConfigContext>
    {
        protected readonly string _connectionString;
        protected IDbConnection _connection;
        public IDbConnection Connection => _connection ?? (_connection = GetOpenConncetion());
 
       //表名
        public Table<Site> Site { get; set; }
        public Table<Job> Job { get; set; }
 
        public ConfigContext()
        {
            _connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Config_connectionString"].ConnectionString;
        }
 
        public ConfigContext Init()
        {
            return Init(Connection as System.Data.Common.DbConnection, commandTimeout: 200);
        }
 
        public IDbConnection GetOpenConncetion()
        {
            var connection = new SQLiteConnection(_connectionString);
            connection.Open();
            return connection;
        }
    }

 

posted on 2017-07-18 17:06  一麻袋火龙果  阅读(697)  评论(0编辑  收藏  举报

导航