2013-08-30 69 views
0

我有以下表格:EF关系到复合PK

  • 销售(ID,...)
  • 产品(ID,...)
  • ProductSales(产品ID,SaleID ,...)

基本上销售是在特定日期组织的,产品可以在销售中(可能同时在多个销售中)。

现在,当用户将产品添加到购物车时,我会记录产品ID和销售ID。

  • CartItems(产品ID,SaleID,...)

所以一个CartItem指向一个产品以及对销售。但由于(ProductID,SaleID)是ProductSales的主键,因此也可以说CartItem指向ProductSale。

此关系(访问ProductSale)可以映射到实体框架(v5,数据库优先)吗?

+0

你是指同一个表上有多个外键? –

+0

如果你要'数据库优先',尝试打开设计器,从数据库创建,检查生成的模型,看看你是否喜欢结果。 – haim770

+0

我已经完成了这项工作,但设计师创建了一个与产品的关系,另一个是销售但不是ProductSales。 –

回答

1

好吧,我解决了它。从数据库更新模型时不会自动创建关联,但可以手动添加关联。

  • 用鼠标右键单击设计师并选择添加关联
  • 在左侧选择CartItem实体的许多多重,在左侧选择ProductSale实体的的多样性。根据需要命名导航属性。
  • 在设计器中选择关联并转至其属性。
  • 参照约束,设置ProductSale并设置从属CartItem。在以下按键映射中,地图销售IDSaleID产品ID产品ID