[英]entity framework dbset which models?
使用实体框架6和mvc 5,假设我具有以下模型:
class Employee
{
public int EmployeeID { get; set; }
public String Name { get; set; }
public Department Department { get; set; }
}
class Department
{
public int DepartmentID { get; set; }
public String DepartmentName { get; set; }
public int FloorNumber { get; set; }
}
在我DbContext
类,其中DbSet
去,我该怎么办DbSet<Employee>
仅或者我也要做DbSet<Department>
? 现在我只在做DbSet<Employee>
因为据我了解,它的主要模型是Employee
,它内部有一个复杂的Department
类型,因此理论上,如果Employee
加载,那么Department应该被动加载(就像在创建表中那样加载)?
当前,我将Department
作为virtual
字段进行延迟加载,因为当我尝试在没有virtual
属性的情况下访问它时,我会得到一个null pointer exception
。
另外,我的模型比具有多个复杂对象的模型要复杂一些,每个模型都需要自己的DbSet
吗?
谢谢
根据文档 (重点是我的):
类型发现
<剪断>
在下面的示例中,在SchoolEntities类(部门)上仅定义了一个DbSet属性。 Code First使用此属性来发现并提取任何引用的类型。
但是,如果您希望独立于Department
来操纵Employee
的列表,则应将其包括在内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.