将字段添加到以前的仅查找表后更新实体框架模型

时间:2013-06-12 20:37:55

标签: c# asp.net .net sql entity-framework

为了更好地说明问题:

我有一个名为Action with key AID的表,我有一个名为Requirement with RID的表。

以前我有一个只包含AID和RID的查找表。

这很好,Action有一个导航属性Require and Requirement有一个导航属性Actions。

我在查询表中添加了一个名为Weight的字段,名为Requirement_Fulfillment。

我从数据库更新了模型。我运行了自定义工具。

模型未显示Requirement_Fulfillment的表格。这两个表(Action和Requirement)仍然将彼此视为简单的导航属性。

任何人都知道我做错了什么?

3 个答案:

答案 0 :(得分:3)

您曾经有过映射,现在您有了一个新实体。

您可能必须删除设计器中Action和Requirement之间的关系。然后从数据库更新模型,并确保在Tables选项卡的Add分支中检查查找表。然后你应该有一个基于查找表的新实体,ActionRequirement实体将与该实体有关系(而不是彼此直接映射)。

如果查找表没有显示在更新向导中,您可以尝试手动删除.edmx文件中对该表的任何引用。

答案 1 :(得分:0)

我总是从我的模型中删除表格,然后重新添加它们以从数据库中获取最新的更新;我认为它是唯一可靠的方法(假设您首先使用DB)。 “从数据库更新模型”并不像它的名字所暗示的那样。

答案 2 :(得分:0)

尝试刷新表格或只是从设计器中删除表格并重新添加。