更新概念模型

时间:2011-04-01 19:45:43

标签: c# linq entity-framework ado.net

我已经从DB生成了EDM。后来我从数据库中删除了一个列,一旦我更新了模型,该列的实体中的属性仍然存在。此外,我注意到即使您将更改列类型并刷新模型,也不会修改模型中的实体。 有没有办法刷新EDM并应用在DB中完成的更改?

2 个答案:

答案 0 :(得分:2)

在大多数情况下,数据库更改将被推送到概念模型,删除列是一种特殊情况。如果模型刷新包含此功能,那么它可能会意外删除您已独立添加到概念模型的属性 - 这将是一件坏事。

要删除过时的列,只需在设计器中突出显示它,然后单击删除键即可。如果可以处理编辑CSDL,也可以删除edmx文件中的列。

答案 1 :(得分:0)

更新EDM时,它只更新数据库定义而不是概念模型。可能在您抱怨映射失败后会出现错误。您仍然有一个概念属性不再映射到数据库属性。请记住,EDM有三个部分。只有第一次基于数据库模型创建概念模型,并且两者通过映射模型链接在一起。之后,在更新EDM时,仅刷新数据库模型。您必须手动删除/重新定义属性类型。