在Entity Framework中更新数据库模式

.net entity-framework schema

我安装了VS SP1并使用了Entity Framework。

我从现有数据库创建了一个模式,并尝试了一些基本操作。

除数据库架构更新外,其中大部分都进展顺利。

我以各种基本方式更改了数据库:

  • 添加了一张新表
  • 删除了一张桌子
  • 在现有表中添加了一个新列
  • 从现有表中删除了一列
  • 更改了现有列的类型

前三个进展顺利,但类型更改和列删除没有遵循数据库更改。

有没有办法让设计师工作?或者目前不支持?我还没有找到任何相关材料,但仍在寻找。

一般承认的答案

我猜这可能不会发生,因为它们会破坏现有代码的构建,但这只是我的猜测。

这是我的逻辑:

首先,EF应该是超过1:1的表映射,所以很可能只是因为你从表A中删除一个列并不意味着对于那个实体,不应该有属性描述。您可能只是将该属性映射到另一个表。

其次,改变类型可能会破坏构建。那是唯一的理由。


热门答案

我发现,一般来说,“从数据库更新模型”功能仍然存在很多错误。

密钥对我来说是杀手锏 - 我还没有对外键关系进行任何修改或者将一个主键添加到表中并让更新程序正常工作(因为它会对生成的代码产生编译错误)代码) - 但要解决这个问题,删除模型和重新导入(只需要一分钟)就很简单 - 这显然不太理想,但我从来没有因为“新鲜”的导入而失败。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因