IDataProvider.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Peer2PeerMasterServer
  6. {
  7. interface IDataProvider
  8. {
  9. /// <summary>
  10. ///
  11. /// </summary>
  12. /// <typeparam name="T"></typeparam>
  13. /// <param name="id"></param>
  14. /// <returns></returns>
  15. T Get<T>(object id) where T : class;
  16. /// <summary>
  17. ///
  18. /// </summary>
  19. /// <typeparam name="T"></typeparam>
  20. /// <param name="expression"></param>
  21. /// <returns></returns>
  22. T Get<T>(System.Linq.Expressions.Expression<Func<T, bool>> expression) where T : class;
  23. /// <summary>
  24. ///
  25. /// </summary>
  26. /// <typeparam name="T"></typeparam>
  27. /// <returns></returns>
  28. IQueryable<T> Query<T>() where T : class;
  29. /// <summary>
  30. ///
  31. /// </summary>
  32. /// <typeparam name="T"></typeparam>
  33. /// <returns></returns>
  34. T Update<T>() where T : class;
  35. /// <summary>
  36. ///
  37. /// </summary>
  38. /// <typeparam name="T"></typeparam>
  39. /// <returns></returns>
  40. bool Delete<T>() where T : class;
  41. /// <summary>
  42. ///
  43. /// </summary>
  44. /// <typeparam name="T"></typeparam>
  45. /// <param name="entities"></param>
  46. /// <returns></returns>
  47. bool Delete<T>(IList<T> entities) where T : class;
  48. /// <summary>
  49. ///
  50. /// </summary>
  51. /// <typeparam name="T"></typeparam>
  52. /// <param name="item"></param>
  53. /// <returns></returns>
  54. T Add<T>(T item) where T : class;
  55. }
  56. }