EF设计师简单的一对多关系(关联)失败

时间:2010-12-27 17:33:05

标签: entity-framework-4 associations

我尝试在Entity Frameworks设计器中设置一个简单的一对多关系。

表格是类别(1)交易(N)。以下是我的所作所为:

Add "association"

 End1 = Category, multiplicity 1, navigation property=Transaction
 End2 = Transaction, multiplicity Many, navigation property = Category

构建它给了我错误“没有指定映射”。好的,有道理。所以我添加了这个映射:

 Category
   Category.CategoryID = Transaction.CategoryID

但是地图设计师还会自动为Transaction表添加一个映射,我无法弄清楚如何删除或如何设置:

 Transaction
    Transaction.TransactionID = ???

保持空白似乎最有效,但这给了我:错误3024“必须指定所有关键属性的映射(TransactionID)”

并尝试将其设置为假的int属性,只是希望它是一个编译器错误。但这给了我3002和3003的错误。

我不知道该怎么做。 Isnt Associations意味着以这种方式使用吗?

1 个答案:

答案 0 :(得分:0)

我建议为Catagory创建(或从数据库导入)实体,并为Transaction创建实体。根据需要为每个添加标量属性。接下来,右键单击您的实体,单击“表映射”,然后将实体属性映射到表字段。例如,对于Category实体,将CategoryID字段映射到CategoryID属性。对另一个实体做同样的事情。然后创建关联。

请注意,由外部外键链接的关联没有任何映射。 顺便说一句,你可能也想添加导航属性。