好吧,像往常一样,我对此很陌生......一直在研究和试用/错误(是的,这是一个动词),没有运气。我有两张桌子。 应用和 ApplicationType 。 ApplicationType 列出了所有可能的类型。让我们使用颜色来简化。红色,绿色,蓝色等等所以我有一个名为* Type_ID *的列,其中包含1表示红色,2表示绿色等。返回应用程序表/实体,我有一个名为* Type_ID *对应。这就是我要映射的内容。但是,每当我尝试时,我都会不断收到错误:
“必须指定所有密钥的映射 End的属性(Application_ID) 在关系中的应用 ApplicationTypeApplication“
* Application_ID *显然是应用程序的实体密钥,但 ApplicationType 中没有相应的列。每当我转到表格映射细节时,它总是显示每个键。所以,这可能只是我的一个主要误解,但任何帮助都会非常感激。我通常只是使用SQL查询,但我的同事让我试着尝试LINQ,所以她就是我。
答案 0 :(得分:1)
由于您使用的是视图且视图没有正确的PK,因此EF默认将视图中的所有列视为复合PK的一部分。您需要edit the mapping to correct the Key definition for the view,因为无法从元数据中推断出它。