为什么我们能够使用DBSet
的自动属性,而不能使用ObjectSet
:
public class SomeContext : DbContext
{
public DbSet<Address> Addresses { get; set; }
...
}
谢谢
答案 0 :(得分:10)
DbContext使用约定优于配置范例。它基于在DbContext派生类上定义的DbSet属性发现实体集(或者通常,它根据您的代码发现您的模型)。 ObjectContext不执行任何发现,也不基于约定。它只是从csdl,ssdl和msl工件中读取你的模型。因此,ObjectContext要求用户准确告知需要公开的内容。
答案 1 :(得分:4)
仅仅因为DbContext API是更新版本,可以提供简化的API以获得更好的开发体验。