使用导航属性?

时间:2013-02-05 14:05:04

标签: asp.net entity-framework foreign-key-relationship

我试图用

设置外键
         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

2 个答案:

答案 0 :(得分:1)

最简单的方法是修改导航属性以使用外键属性。这样,您的班级就会同时拥有CustomerCustomerId / Customer_Id /您想要的属性。然后,您可以按照现在的方式更新客户ID。但是,您没有指定正在使用的EF版本,旧版本不支持外键属性。

如果外键属性不是一个选项,则需要确保上下文中存在ID为Id的客户。这将类似于var customer = context.Customers.SingleOrDefault(c => c.Id == Id);您可以将Customer属性设置为该特定客户。

答案 1 :(得分:1)

您使用Code First吗?如果是这样,我建议您创建自己的外键属性,并使用Fluent API建立约束和关系。