【发布时间】:2018-10-30 22:21:04
【问题描述】:
我的项目中有一个数据库优先模型。从数据库中导入Document、DocumentItem 和Product 3 个表。
我想创建一个名为Order 的新实体,它连接这三个数据库表的一些字段。如您在第一张图片中看到的那样,我创建了该实体,并如您在第二张图片中看到的那样填充了它的表映射。
在构建项目后,我收到以下错误:
Severity Code Description Project File Line Suppression State
Error Error 3025: Problem in mapping fragments starting at line 193:Must specify mapping for all key properties (Product.Id) of table Product. EFTest C:\Users\Me\documents\visual studio 2015\Projects\EFTest\EFTest\Data\EfTest.edmx 194
Error Error 3025: Problem in mapping fragments starting at line 186:Must specify mapping for all key properties (Document.Id) of table Document. EFTest C:\Users\Me\documents\visual studio 2015\Projects\EFTest\EFTest\Data\EfTest.edmx 187
Error Error 3024: Problem in mapping fragments starting at line 193:Must specify mapping for all key properties (Orders.Id) of the EntitySet Orders. EFTest C:\Users\Me\documents\visual studio 2015\Projects\EFTest\EFTest\Data\EfTest.edmx 194
Error Error 3024: Problem in mapping fragments starting at line 186:Must specify mapping for all key properties (Orders.Id) of the EntitySet Orders. EFTest C:\Users\Me\documents\visual studio 2015\Projects\EFTest\EFTest\Data\EfTest.edmx 187
我找不到问题的根源。我该如何解决这些错误?
【问题讨论】:
-
您是否检查了数据库结构是否正确映射到您的设计方案?例如:product.Id 是否在您的数据库中定义为主键?
-
@HanyHabib 是的,没关系。
-
最简单的方法不是在数据库中创建 Order 作为视图,然后将该视图用作您的新实体吗?