2010-02-02 73 views
9

我有一个基于Sql Server 2008数据库的Visual Studio 2008向导生成的实体框架模型。如何在实体框架中创建表和视图之间的关系

该模型具有一个视图,该视图通过联接表(通过插入/更新触发器在数据库中强制执行)在逻辑上与另一个表进行多对多关联。这两个表和视图都是模型的一部分,但是因为您不能在视图上拥有外键约束,所以视图和连接表之间没有关系。

是否有可能在实体框架模型中为连接表和视图之间的链接创建关系?

谢谢你的帮助。

回答

16

是的,你可以做到这一点,但GUI设计师将无法为你推断它。

需要做的第一件事是configure the view correctly。设计师无法推断出主键,因此您需要提供该信息。

您现在可以右键单击设计器中的空白区域,然后选择添加关联。定义视图和表之间的关联,正确设置基数。

在EF 1中,您需要通过在设计器中选择FK字段并按下删除来从客户端模式中删除FK字段。这是因为在EF 1中,不能将相同的字段映射到关联和标量属性。在EF 4中,如果使用FK关联,则可以保留FK字段,也可以使用行为类似EF 1的独立关联。

+0

非常感谢。 – Sako73 2010-02-02 15:41:32

+3

非常有帮助,在我的情况下,我还必须在关联(EF 5)的属性中设置引用约束。 – 2013-04-10 05:49:03