我试图用
设置外键 protected void AdresDetailsView_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
var Id = Convert.ToInt32(CustomerDropDownList.SelectedValue);
e.Values["Customer_Id"] = Id;
}
这不起作用,因为我的实体(Adres)没有属性Customer_Id Customer_Id是数据库中的列名,我应该使用Customer属性,它是导航属性 但我不知道如何。
我正在使用EF 4.5
答案 0 :(得分:1)
最简单的方法是修改导航属性以使用外键属性。这样,您的班级就会同时拥有Customer
和CustomerId
/ Customer_Id
/您想要的属性。然后,您可以按照现在的方式更新客户ID。但是,您没有指定正在使用的EF版本,旧版本不支持外键属性。
如果外键属性不是一个选项,则需要确保上下文中存在ID为Id
的客户。这将类似于var customer = context.Customers.SingleOrDefault(c => c.Id == Id);
您可以将Customer
属性设置为该特定客户。
答案 1 :(得分:1)
您使用Code First吗?如果是这样,我建议您创建自己的外键属性,并使用Fluent API建立约束和关系。