早期的版本一直用的是EF,但是EF一直有個讓人很不爽的東西需要mapping 實體對象;如果沒有映射的情況下連查詢都沒辦法;
所以后來開始使用dapper 但是dapper都是直接用的是sql,這個對查詢來說還好,但是新增,更新就很麻煩。
基於以上的原因就打算對dapper進行擴展,實現傳入實體對象就能直接更新 和新增;不用再去寫sql語句。
下面直接貼上代碼
新增
public async Task<int> Insert<T>(T entity) where T : class
{
try
{
string sql = SqlHelper.Insert<T>(sqlAdapter);
var res = await dbConnection.ExecuteAsync(sql, entity, dbTransaction);
return res;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (dbTransaction == null)
{
this.Close();
}
}
}
更新
public async Task<int> Update<T>(T entity) where T : class
{
try
{
string sql = SqlHelper.Update<T>(sqlAdapter);
var res = await dbConnection.ExecuteAsync(sql, entity, dbTransaction);
return res;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (dbTransaction == null)
{
this.Close();
}
}
}
需要nuget引入
cd.dapper.extension
開發小記,一天一篇
