当我尝试使用包含时,我无法访问表上下文。用户,只能访问它的字段
我的错误在哪里?谢谢。
你应该使用 context.Doctor.Include(d=>d.PhoneNumbers)
这将提取所有医生,每个医生都填写了电话号码
使用 Load 方法意味着您可以尝试使用 Eager 加载某些需求,您可以尝试关闭延迟加载,这样所有查询都将加载相关实体,而无需使用 Include 方法。他们代理实体将为您处理实体关系之间的引用。
一旦你在你的视图中返回医生,你就会遍历它们
foreach(var doctor in Model) { @doctor.PhoneNumber.EmergencyNumber }
PhoneNumber 将由 EF 代理,您无需通过 Include 函数使用任何 Eager Loading。
public Context() : base("DefaultConnection")
{
Configuration.ProxyCreationEnabled = true; // Our Navigational Properties
Configuration.LazyLoadingEnabled = false; // No need to Include with Eager Loading
Configuration.AutoDetectChangesEnabled = true; // Change Tracker for changes made on either side of the Association through Proxy Class
Configuration.ValidateOnSaveEnabled = true; // Validate On Saving for Data Integrity
}