获取实体的DbContext

时间:2012-06-24 18:46:33

标签: entity-framework dbcontext

好吧,我觉得有点愚蠢,但我想我对实体框架内部运作的理解是缺乏的。

我想尝试使用DbContext。我有一个使用EF 4.2的现有ASP.NET MVC应用程序。我可以使用以下方式获取我的实体:

var context = new MyEntities();

这很好用。

但是我如何得到DbContext表示的相同数据?

1 个答案:

答案 0 :(得分:4)

所以我猜你使用的是EDMX设计师提供的默认代码生成器 - 它将使用基于ObjectContext和重量级EntityObject的实体。

如果你想使用DbContext,你必须:

  • 关闭默认代码生成 - 在属性窗口中删除EDMX文件的自定义工具
  • 下载并安装DbContext T4 generator(您可以直接从Visual Studio中的扩展程序获取)
  • 在EF设计师中,从设计器表面(不是实体)的上下文菜单中选择添加代码生成项

现在EF将为您的项目添加两个.tt文件 - 一个将负责为EDMX文件中定义的每个实体或复杂类型创建一个新类,第二个将负责创建从{{1}派生的类并为所有实体类型公开集合