2010-11-28 105 views
17

我正在使用实体框架,并试图将从数据库表创建的实体与从数据库视图创建的实体相关联。由于实体框架无法自动推断数据库表和视图之间的关系,因此我使用实体设计器来构造实体之间的“关联”。但是,如果外键是nullalbe类型,我会收到以下错误:实体框架:与可空字段关联实体的问题

错误113:多重性在角色'Company'中的'UsersView'关系中无效。 因为从属角色中的所有属性均可为空,所以主体角色的多重性必须为'0..1'。

在我的方案中,我在我的UsersView中有一个可空的CompanyId外键(即用户可能没有公司)。使用可空的外键创建关联从来不是Linq 2 SQL的问题。有谁知道我可以在Entity Framework中解决这个问题吗?

在此先感谢。

回答

24

我想你应该可以选择公会,并在属性面板中的多重设定设置为0..1。这应该可以解决错误。

+0

谢谢戴夫。你的答案解决了我的问题。 – 2010-11-29 00:15:05

+0

+1,谢谢戴夫。你的回答也解决了我的问题:) – Homam 2011-07-28 07:04:17

3

我张贴这一点,因为我碰到了同样的错误手动创建在Visual Studio 2010中的模型设计的关联,我场不允许空在数据库中,但由于某种原因,在设计可空属性该字段被设置为(无)而不是真。我花了一段时间才弄清楚设计师为什么抱怨。一旦我手动更改字段的Nullable属性,我试图创建一个没有任何错误的关联。

我知道这并不能回答原来的问题,但我发现这个职位试图解决我的问题,这是给予同样的错误。