自动属性:DBSet vs ObjectSet

use*_*769 3 entity-framework dbcontext

为什么我们能够使用自动属性DBSet,但不能使用ObjectSet:

public class SomeContext : DbContext
{        
    public DbSet<Address> Addresses { get; set; }
             ...
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Paw*_*wel 10

DbContext使用约定优于配置范例.它基于在DbContext派生类上定义的DbSet属性发现实体集(或者通常,它根据您的代码发现您的模型).ObjectContext不执行任何发现,也不基于约定.它只是从csdl,ssdl和msl工件中读取你的模型.因此,ObjectContext要求用户确切地告知需要公开的内容.


Lad*_*nka 5

仅仅是因为 DbContext API 是新版本,旨在提供简化的 API,以获得更好的开发体验。