一. Dapper 簡介 一個效率比較高的微型ORM。 二 . Dapper.Rainbow Dapper的擴展,在這個擴展裡面實現了 Dynamic 的 插入和更新,這個對於使用動態類型的對象很有用,可以少建很多貧血型的實體類。 三 . Dynamic Dynamic 這是一把雙刃劍,在提高效率的 ...
一. 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; } }