我正在使用Entity Framework 5和MVC5开展项目。我的项目目前正在运行。 我想在表中添加一列。但正如我们所知,在EF中,当我们在模型中添加一个字段时,它会丢弃并重新创建数据库,我无法做到。 一种方法是找到代码迁移。但我的经理不允许我使用它(因为它是一个大型数据库项目)。
请帮助我并为此提出建议。
答案 0 :(得分:1)
当我首先使用Entity Framework开始使用代码时,我和你的情况相同。我一直在运行Update-Database -F
然后看着我的所有表都被删除并重新创建,即使是像重命名字段这样简单的事情。
版本控制数据库很难,但命名迁移更容易(我认为这是你引用代码迁移时的意思)。我知道你的老板反对这个想法,但它非常灵活。
基本上,您在程序包管理器控制台中运行Add-Migration -Name xxx
,实体框架将为您构建一个配置类,其默认命令(版本为Up()
和Down()
)将在执行时执行你Update-Database
。如果您不喜欢这些命令,可以更改它们。如果需要,你甚至可以移动数据(虽然它有点繁琐)。
我认为您有四种选择;
Configurations
为您提供所需的控制权 - 但您的老板已禁止使用它。如果我能进一步提供帮助,请告诉我。