Dbcontext类简单解释

时间:2013-12-25 07:23:45

标签: c# asp.net-mvc design-patterns repository-pattern dbcontext

任何人都会把它解释成简单的词语,因为我是MVC的新手并且无法理解这一点。

  

DbContext实例代表工作单元和   存储库模式,以便它可用于从数据库进行查询   并将更改组合在一起,然后将其写回商店   作为一个单位。 DbContext在概念上与ObjectContext类似。

来源:http://msdn.microsoft.com/en-us/library/system.data.entity.dbcontext(v=vs.113).aspx

2 个答案:

答案 0 :(得分:3)

工作单元和存储库是处理数据的模式(无论是数据库还是任何其他存储(甚至可能是List<T>个对象)),并且通常在处理来自数据库的数据时实现。< / p>

这只意味着Entity框架内部实现了这两种模式。为了更好地理解它,只需谷歌搜索存储库模式和工作单元模式,这通常是齐头并进的。

如果你仍然没有意义,请不要担心 - 直到你知道如何使用Entity Framework(Code First非常容易理解,一旦你理解了Linq),对模式的理解并不重要。一旦您对处理数据的模式有更多经验,请参阅同一篇文章。您只需要更多的经验来欣赏它们。

这两种模式的例子可以通过两个接口更好地描述:

interface IHomesRepository {
  List<Home> GetAllHomes();
  Home GetHomeById(int id);
  void AddHome(Home home);
  void UpdateHome(int id, Home home);
  void DeleteHome(Home home);
}

interface IUnitOfWork : IDisposable{
   IHomesRepository repository {get;}
   // more repositories, if required
   void Commit();
}

答案 1 :(得分:0)

这是理解工作单元和存储库模式的一个很好的例子,我建议你阅读它直到结束: http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application