我有以下型号:
但是当我用VS2010编译时,我收到以下错误:
错误2错误3007:从第1784行,第2018行开始映射片段时出现问题:列[createdby]正在两个片段中映射到不同的概念侧属性。
我想要什么?实际上我希望Note实体具有FK到User实体。 错误何时出现?当我添加FK用户注意我有错误。如果我删除链接,没问题。 问题是什么 ? 谢谢 约翰
答案 0 :(得分:2)
我还有一个“User”实体(基于View)和几个带有CreatedByUser和ModifiedByUser引用的表。
这对我有用而不会出现“必须为空”错误:
完成!
以下项目的屏幕截图。
答案 1 :(得分:1)
我的猜测是,用户实体上的关联已在用户名上定义,而用户名是SQL Server中的候选键(在其上定义了唯一索引)。虽然您可以在SQL Server中基于此设置创建关系,但当前版本的EF NOT 支持基于候选键创建关联: In EF (3.5 and 4.0) FKs MUST point to Primary Keys. 强>
实现此功能的唯一方法是在 Note 表中创建一个新的int字段(如 UserId ),然后在 User.Id 之间创建一个新关系(PK)和 Note.UserID (FK)和EF将很乐意根据您的关系创建一个关联。