我尝试在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意味着以这种方式使用吗?
答案 0 :(得分:0)
我建议为Catagory创建(或从数据库导入)实体,并为Transaction创建实体。根据需要为每个添加标量属性。接下来,右键单击您的实体,单击“表映射”,然后将实体属性映射到表字段。例如,对于Category实体,将CategoryID字段映射到CategoryID属性。对另一个实体做同样的事情。然后创建关联。
请注意,由外部外键链接的关联没有任何映射。 顺便说一句,你可能也想添加导航属性。