我在网上找不到答案,请告诉我如果我忽略了任何资源,请提供链接。
我理解 Entity Framework 的 CodeFirst 工作方式。问题是:EF 如何知道为哪个模型类创建表格,以及哪个模型类只是作为一个类处理?
例如,在使用 VS 2012 Express Developer 创建新的 MVC 项目时生成的示例 MVC4 应用程序中,Account Model 中有一些类(LocalPasswordModel、LoginModel、RegisterModel 等)没有表格,EF 知道不要为这些类生成表格。
EF 是如何知道这一点的?
我理解 Entity Framework 的 CodeFirst 工作方式。问题是:EF 如何知道为哪个模型类创建表格,以及哪个模型类只是作为一个类处理?
例如,在使用 VS 2012 Express Developer 创建新的 MVC 项目时生成的示例 MVC4 应用程序中,Account Model 中有一些类(LocalPasswordModel、LoginModel、RegisterModel 等)没有表格,EF 知道不要为这些类生成表格。
EF 是如何知道这一点的?
DbContext
中的DbSet
。由于DbContext
没有引用那些类,EF甚至都看不到它们。 - SLaksmodelBuilder.Entity<Order>();
实际上,您根本不需要任何DbSet<T>
属性来定义实体模型。只要T
是通过DbSet<T>
属性或使用Fluent API明确定义的已知实体,或者可以通过导航属性访问,就可以始终引用集合context.Set<T>()
,这与公开DbSet<T>
属性相同。 - Slauma