我正在尝试模拟以下内容:
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进行更改,这听起来像是一种真正废话的做事方式......有没有人解决过如何与设计师一起解决这个问题?