当然,用于创建和处理Connection的功能会很好用。
protected void Execute(Action<IDbConnection> query){ using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString)) { query.Invoke(db); }}
public void SaveCustomer(CustomerDTO custDTO){ Execute(db => db.Execute(saveCustSp, custDTO, CommandType.StoredProcedure));}
具有返回值:
public T Get<T>(Func<IDbConnection, T> query){ using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString)) { return query.Invoke(db); }}
在呼叫站点中,只需编写要使用的逻辑即可。
public IEnumerable<EmployeeDTO> GetEmployeeDetails(int employeeId){ return Get<IEnumerable<EmployeeDTO>(db => db.Query<EmployeeDTO>(anotherSp, new { EmployeeID = employeeId }, CommandType.StoredProcedure));}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)