Repository.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Reflection;
  5. using CB.Entity;
  6. using CB.Interface;
  7. namespace CB.Data
  8. {
  9. /// <summary>
  10. /// 基础数据操作抽象类
  11. /// </summary>
  12. /// <typeparam name="TEntity"></typeparam>
  13. public abstract class Repository<TEntity> : IRepository<TEntity> where TEntity : BaseEntity, new()
  14. {
  15. #region 构造函数
  16. public string InterfaceId = "";
  17. public Repository(string interfaceId)
  18. {
  19. InterfaceId = interfaceId;
  20. }
  21. #endregion
  22. #region IRepository<TEntity> 成员
  23. public abstract bool Save(TEntity entity);
  24. public abstract bool Update(TEntity entity);
  25. public abstract bool Delete(int Id);
  26. public abstract TEntity Get<TKey>(TKey key);
  27. public abstract IList<TEntity> ToList();
  28. public abstract IList<TEntity> ToList(TEntity entity);
  29. public abstract IList<TEntity> ToPaging(TEntity entity, int pageSize, int pageIndex, out int recordCount);
  30. #endregion
  31. protected virtual TEntity LoadEntity(IDataReader reader)
  32. {
  33. return new TEntity();
  34. }
  35. protected virtual TEntity LoadEntity(DataRow dr)
  36. {
  37. return new TEntity();
  38. }
  39. }
  40. }