看我的代码
using (var db = new TestDBContext())
{
var existingCustomer = db.Customer
.Include(a => a.Addresses.Select(x=> x.Contacts))
.FirstOrDefault(p => p.CustomerID == 5);
existingCustomer.FirstName = "Test Customer122";
foreach (var Custaddress in existingCustomer.Addresses.FirstOrDefault(a => a.AddressID == 5))
{
//Custaddress.
}
}
foreach提出错误
foreach语句不能对'EFTest.Addresses'类型的变量进行操作,因为'EFTest.Addresses'不包含'GetEnumerator'的公共定义
我想在foreach循环中设置子实体数据并以这样的方式更新,结果父和子都将被更新 . 请把我推向正确的方向来完成这项工作 .
1 回答
那是因为方法.FirstOrDefault返回一个source类型的对象,而不是一个列表:
https://msdn.microsoft.com/en-us/library/bb340482(v=vs.110).aspx
尝试: