创建和使用引用另一个表

时间:2015-08-13 01:15:51

标签: c# sql-server entity-framework-6

三个表的故事:使用Entity Framework 6,我需要一个用户可编辑的表Disallow来存储另一个表的行之间的冲突选项类型为Technology。

像这样:

Technology:
ID, PK, [int], not null
Description, nvarchar(40), not null

Option:
ID, PK, [int], not null
Name, nvarchar(20), not null
ADD CONSTRAINT (FK_Tech) FOREIGN KEY [ID] REFERENCES [Technology] (ID)

Disallow:
ID1, [int], not null
ID2, [int], not null
PRIMARY KEY (ID1, ID2) ASC
ADD CONSTRAINT [FK_Valid1] FOREIGN KEY [ID1] REFERENCES [Option] (ID)
ADD CONSTRAING (FK_Valid2) FOREIGN KEY [ID2] REFERENCES [Option] (ID)

据我了解,在将数据库导入模型后,用户应该能够从EF模型中添加记录,以便e可以指定在选择技术选项时,不应该同时选择两个特定选项。 / p>

我花了很多时间寻找有关在单个表中使用多个外键的帮助,并且能够在SQL Server中成功创建表,我想我理解那里的问题。

但是当我尝试导入EF时,会在Options表上显示一个关联,但没有其他内容。如果没有映射到表,如何添加行?然后我找到一个链接告诉我没有办法引用外键。所以我添加了两个额外的字段,但即使经过多次尝试 - 遵循关于该主题的许多链接的建议 - 未能将表格带入模型。如何确保(1)添加到Disallow表中的ID在Option中找到,(2)仍然在EF中引用它们?

或者更好的说,我怎样才能实现我想要的:我的代码将用来限制选项选择的一系列冲突?

0 个答案:

没有答案