EF的操作类网上很多类,我只是把我在平时项目中的类进行一些改进和扩展,扩展了部分同步和异步的EF操作
接口
1 /// <summary> 2 /// 接口数据操作基础类 3 /// </summary> 4 /// <typeparam name="Key"></typeparam> 5 /// <typeparam name="Entity"></typeparam> 6 public interface IBaseOpertion<TEntity, TKey> where TEntity : class 7 { 8 /// <summary> 9 /// 添加数据 10 /// </summary> 11 /// <param name="tableName"></param> 12 /// <param name="table"></param> 13 /// <returns></returns> 14 int AddTable(string tableName, DataTable table); 15 Task<int> AddTableAsy(string tableName, DataTable table); 16 /// <summary> 17 /// 添加 18 /// </summary> 19 /// <param name="entity"></param> 20 /// <returns></returns> 21 TEntity AddEntity(TEntity entity); 22 Task<TEntity> AddEntityAsy(TEntity entity); 23 /// <summary> 24 /// 批量添加 25 /// </summary> 26 /// <param name="list"></param> 27 /// <returns></returns> 28 int AddEntity(List<TEntity> list); 29 Task<int> AddEntityAys(List<TEntity> list); 30 /// <summary> 31 /// 修改 32 /// </summary> 33 /// <param name="entity"></param> 34 /// <returns></returns> 35 TEntity UpdateEntity(TEntity entity); 36 Task<TEntity> UpdateEntityAsy(TEntity entity); 37 /// <summary> 38 /// 删除 实体 39 /// </summary> 40 /// <param name="TEntity"></param> 41 /// <returns></returns> 42 int DelEntity(TEntity entity); 43 Task<int> DelEntityAsy(TEntity entity); 44 // <summary> 45 /// 删除 主键 46 /// </summary> 47 /// <param name="TEntity"></param> 48 /// <returns></returns> 49 int DelEntity(TKey key); 50 Task<int> DelEntityAsy(TKey key); 51 // <summary> 52 /// 删除 条件 53 /// </summary> 54 /// <param name="TEntity"></param> 55 /// <returns></returns> 56 int DelEntity(Dictionary<string,object> where); 57 Task<int> DelEntityAsy(Dictionary<string, object> where); 58 59 /// <summary> 60 /// 根据ID进行查询 61 /// </summary> 62 /// <param name="key"></param> 63 /// <returns></returns> 64 TEntity GetEntityByID(TKey key); 65 Task<TEntity> GetEntityByIDAsy(TKey key); 66 /// <summary> 67 /// 根据sql进行查询 68 /// </summary> 69 /// <param name="predicate"></param> 70 /// <returns></returns> 71 List<TEntity> GetEntityQuerySql(string sql); 72 Task<List<TEntity>> GetEntityQuerySqlAsy(string sql); 73 /// <summary> 74 /// 根据条件进行查询 75 /// </summary> 76 /// <param name="fun"></param> 77 /// <returns></returns> 78 List<TEntity> GetEntityLisrByWhere(Expression<Func<TEntity, bool>> fun); 79 Task<List<TEntity>> GetEntityLisrByWhereAsy(Expression<Func<TEntity, bool>> fun); 80 81 /// <summary> 82 /// 根据条件进行查询 83 /// </summary> 84 /// <param name="fun"></param> 85 /// <returns></returns> 86 TEntity GetEntityByWhere(Expression<Func<TEntity, bool>> fun); 87 Task<TEntity> GetEntityByWhereAsy(Expression<Func<TEntity, bool>> fun); 88 }