asp.net-mvc-3 - 如何在 DbUpdateConcurrencyException 中加载多个相关实体

标签 asp.net-mvc-3

我有 3 个相关表

  1. 个人实体:具有来自地址实体的两个外键(Address 和 Address1)以及来自所有者表的一个外键

  2. 地址实体有一个来自所有者表的外键

人员 View 具有来自地址实体的字段,并同时跟踪并发检查

var entry = ex.Entries.Single();
var databaseValues = (Person)entry.GetDatabaseValues().ToObject();
var clientValues = (Person)entry.Entity;

适用于“人员”字段。

但是当我尝试访问时

databasevalues.Address.City 或databasevalues.Address1.City 它给出了空异常。我认为这是由于地址实体没有在开始时加载

请求建议

最佳答案

您可以尝试在查询中显式加载相关实体:

IQueryable<Person> persons = DataContext.Persons.Where(p => p.City == "Hoboken").Include("Address")

将显式加载返回的人员实例的相关地址条目。

另一个选项是禁用 edmx 文件中的延迟加载选项;打开文件,然后在属性面板中,设置 Lazy Loading = false。

关于asp.net-mvc-3 - 如何在 DbUpdateConcurrencyException 中加载多个相关实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198071/

相关文章:

c# - 如何处置我的 DbContext?

asp.net-mvc - ASP.net MVC 3 项目文件未显示在新项目对话框中?

asp.net-mvc - 当参数名称需要不同时,如何重用远程验证方法?

c# - 如何使用 Foolproof 的 ModelAwareValidationAttribute 进行不显眼的客户端验证

asp.net-mvc-3 - Telerik MVC 扩展和文化问题

c# - Html.EditorFor 用于带逗号的小数字段

mysql - 如果另一个表具有空值(序列不包含元素),则查询不显示

c# - %20%20... 正在添加到操作链接的末尾

asp.net - 打印友好的 ASP.NET MVC 3 View

asp.net-mvc-3 - 使用ASP.NET MVC 3在App_code文件夹中具有razor @helper