EF Code First:使用poco创建客户,物料和订单关系

时间:2013-01-06 10:26:25

标签: entity-framework ef-code-first entity-framework-4.1 code-first poco

我正在尝试创建3个由pocos表示的表,以便首先在代码中使用。

表格是客户,物品和订单。 (我认为订单是一个很好的命名对话?或者我应该使用customitem还是customeritem?)

我创建了一个带有Id的客户表以及名称,地址

等内容

我创建了一个带有Id的项目表,以及项目名称和价格。

现在我需要创建一个第3个表来保存客户购买的商品数量。我有一个Id所以我需要创建2个外键(int)1名为CustomerId而另一个名为ItemId - 这是正确的吗?

然后我需要从客户创建导航属性,以便我可以看到客户购买的所有项目

和商品的导航属性,以便您可以查看哪些客户购买了该商品

我有点迷失了如何做到这一点

有没有人有例子或可以帮助我?

我认为它是一个标准问题,如何创建客户和商品以及商店谁购买了什么,但我似乎找不到任何教程

提前致谢

1 个答案:

答案 0 :(得分:2)

您真的不需要第三个表,Entity framework将自动创建第三个表,并且将在内部管理关系。只需要使用{{1}将Principal and dependent放入代码中}}

Navigation Properties.

因此,您可以建立两个表public partial class Customer { public Customer() { this.Items = new HashSet<Item>(); } public int CustomerId { get; set; } public string CustomerName { get; set; } public string CustomerAddress { get; set; } public virtual ICollection<Item> Items { get; set; } } public partial class Item { public int ItemId { get; set; } public int Price { get; set; } public int CustomerCustomerId { get; set; } public virtual Customer Customer { get; set; } } customer之间的关系。但是如果你想在关系中添加一些描述性属性,那么你应该在实体框架中创建新表,其中包括来自itemCustomer类的外键和您的其他描述性属性,如Item