我正在尝试访问State = Added的实体的Navigational属性,但Navigational属性为null。
using (var myc = new DBTestEntities())
{
var cust = new Customer();
cust.CustomerName = "New Customer";
cust.BusinessTypeID = 1; // This is a valid BusinessTypeID present in BusinessType table
myc.Customers.Add(cust);
// at this point cust.BusinessType is null
Console.WriteLine(cust.BusinessType.BusinessTypeName);
}
在这种情况下,任何人都可以指导我如何访问Navigational属性。
答案 0 :(得分:0)
您需要在客户类中拥有BusinessType属性。
在那里你可以设置Businesstype类似的东西:
cust.BusinessType = (from x in myc.BusinessTypes where x.Id=1 Select x).First();
答案 1 :(得分:0)
我认为你需要这样做:
myc.SaveChanges();
实际将实体提交到数据库。
答案 2 :(得分:0)
行后
myc.Customers.Add(cust);
你可以添加
myc.ChangeTracker.DetectChanges();
这将触发一个名为relationship fixup的进程,其中EF同步外键中涉及的所有属性。如果BusinessType
对象不在上下文中,它将导致从数据库中取出{{1}}对象。