1

我有一个使用 EF 5.0 的应用程序已经投入生产。我即将开始下一次重大修订。但在此之前,我正在尝试清理大量现有代码。

我想改变的一件事是为我的一个表实体使用不同的类。新类在功能上与之前的类相同。唯一真正的区别是名称。例如,ReceiptEntity 将成为 Receipt。

这是为了帮助简化事情,并坚持简单的命名约定。

但是,EF Migrations 想要删除重新创建表。这不是一个选项,因为该应用程序已经在生产中。而且我不能允许任何数据丢失。

有什么方法可以在不重新创建使 EF 满意的表的情况下更改实体类型?

4

1 回答 1

0

我能够通过更改生成的迁移来解决这个问题。

生成的迁移尝试创建一个表(一个已经存在的表),然后立即删除它(这会导致数据丢失)。

我删除了所有生成的代码,并简单地“更新数据库”了一个空迁移,这为我解决了这个问题。

于 2013-06-24T19:18:56.880 回答