Dapper.Rainbow 简单使用

时间:2021-05-06 23:42:49
一.  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;
}
}