Dapper.Rainbow簡単に使用
1861 ワード
一.Dapperの概要
比較的効率の高いマイクロORMです.
二.Dapper.Rainbow
Dapperの拡張は,この拡張でDynamicの挿入と更新を実現し,これは動的タイプのオブジェクトを用いるのに役立ち,貧血型の実体クラスを多く構築することができる.
三.Dynamic
Dynamicこれは両刃の剣で、効率を高めると同時に、間違いの機会も増えた.確かに合理的に使わなければならない.
四. Dapper.Rainbowの使用
比較的効率の高いマイクロ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
{
protected readonly string _connectionString;
protected IDbConnection _connection;
public IDbConnection Connection => _connection ?? (_connection = GetOpenConncetion());
//
public Table Site { get; set; }
public Table 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;
}
}