我正在使用Entity Framework,我正在尝试将从数据库表创建的实体与从数据库视图创建的实体相关联。因为实体框架无法自动推断数据库表和视图之间的关系,所以我使用实体设计器来构造实体之间的“关联”。但是,如果外键是nullalbe类型,我会收到以下错误:
错误113:多重性在关系“UsersView”中的角色“公司”中无效。 由于“从属角色”中的所有属性都可以为空,因此“主体角色”的多重性必须为“0..1”。
在我的场景中,我的UsersView中有一个可以为空的CompanyId外键(即用户可能没有公司)。使用可以为空的外键创建关联从来不是Linq 2 SQL的问题。有谁知道如何在实体框架中解决这个问题?
提前致谢。
答案 0 :(得分:24)
我认为您应该能够选择关联,并将“属性”窗格中的“多重性”设置设置为0..1。这应该可以解决错误。
答案 1 :(得分:4)
我发布这个是因为我在Visual Studio 2010中的模型设计器中手动创建关联时遇到了同样的错误。我的字段不允许数据库中的空值但是由于某种原因在设计器中的Nullable属性field设置为(None)而不是True。我花了一段时间才弄清楚设计师为什么抱怨。一旦我手动更改了字段的Nullable属性,我就试图创建一个没有任何错误的关联。
我知道这不能回答原来的问题,但我发现这篇文章试图解决我的问题,这也是同样的错误。