实体框架数据库首先1到0..1与设计师

时间:2014-10-27 11:54:18

标签: .net entity-framework

我正在尝试模拟以下内容:

CREATE TABLE [dbo].[expression] (
    CONSTRAINT [PK_expression] PRIMARY KEY CLUSTERED ([ExpressionId] ASC),
    [ExpressionId]     INT  IDENTITY (1, 1) NOT NULL,
    [LeftOperatorId]   INT NULL UNIQUE,
    [RightOperatorId]  INT NULL UNIQUE,
    CONSTRAINT [FK_expression_leftoperator] FOREIGN KEY ([LeftOperatorId]) REFERENCES [dbo].[expression] ([ExpressionId]),
    CONSTRAINT [FK_expression_rightoperator] FOREIGN KEY ([RightOperatorId]) REFERENCES [dbo].[expression] ([ExpressionId])
);

当我使用EF6设计器对此进行建模时,我得到1:多关系,而我希望它是0..1:1关系(例如,LeftOperator Id可以是NULL或指向ExpressionId。< / p>

当我在设计器中将其更改为1:0..1关系时,它无法重新生成任何基础类!编译器还会出现以下错误:

由于Dependent Role属性不是关键属性,因此Dependent Role的多重性的上限必须为*。

我找到了微软的一个答案,详细说明了如何对基础XML进行更改,这听起来像是一种真正废话的做事方式......有没有人解决过如何与设计师一起解决这个问题?

0 个答案:

没有答案