【发布时间】:2014-05-02 22:51:44
【问题描述】:
我正在开发一个 Web API 服务(在 Visual Studio 2013 中),并在我的解决方案中添加了 ADO.NET 实体数据模型(数据库优先)。
我包含的所有表格都在我的 edmx 图表中正确创建。
然后我做了一些更改:我在源数据库中添加了两个新列,并删除了一个列。因此,当我尝试从数据库更新模型时,添加了两个新列,而删除的列仍在我的模型中,并且消息:
错误 11009:未映射属性“图像”。
其中Image 是数据库中已删除列的名称。
我可以手动从模型中删除此属性吗?或者还有其他更清洁、更安全的方法吗?
【问题讨论】:
-
我不认为 Database First 在“从数据库更新”时从概念方案中删除任何内容(即仅从存储方案中删除)。但是我找不到引用。我只见过有人手动从概念方案中删除东西,这确实感觉很奇怪。 This answer sort-of explains how it works. 但在您的情况下,EF 会将已删除的列视为您的概念方案中的自定义项,这是违反直觉的,因为它自动在存储方案和概念方案之间映射。
标签: c# entity-framework sql-server-2008 entity-framework-6 ado.net-entity-data-model