为什么在使用Entity Framework时我看不到Local属性?

bcf*_*ter 5 c# data-binding entity-framework winforms

我知道我遗漏了一些完全明显的东西,但为什么我Local在使用EF上下文时看不到属性?在线典型示例如下所示:

context.Parents.Local

但我无法看到该Local物业.现在从我的理解,Local是DbSet类的成员,我不认为我在我的应用程序中使用DbSet.我所知道的是我已经添加了对EntityFramework的引用,using System.Data.Entity并且我熟悉的其他一切工作正常.除非Local不存在,我确实需要一些排序功能DataGridView.

救命!

web*_*316 2

如果您查看上下文类的自动生成代码,您会发现它是从 DbContext 还是 ObjectContext 继承的?

如果它继承自ObjectContext,则还需要执行一些步骤。

  • 在模型设计图面上,右键->添加代码生成项
  • 从左侧菜单中选择“代码”
  • 选择“ADO.NET DbContextGenerator”
  • 将项目命名为与您的模型相同的名称(例如:“MyModel”)
  • 单击添加

两个 *.tt 文件将添加到您的项目中,名为 MyModel.tt 和 MyModel.Context.tt。

重新编译后,再次查看自动生成的上下文代码,它现在应该继承自 DbContext。现在,您的 Parent 对象的类型将是 DbSet 而不是 ObjectSet,并且您现在将能够使用 Local 属性。