1
我有存储过程创建的解决方案,就像在此答案中一样https://stackoverflow.com/a/15171900。在Code First DbMigration中更新存储过程
我在我最初DbMigration运行
Sql(Properties.Resources.Create_sp_DoSomething);
。
我的sql脚本有代码首先删除现有的SP,然后创建新的更新的SP。所以whene我在新DbMigration运行
Sql(Properties.Resources.Create_sp_DoSomething);
,和内部SP逻辑变成一切工作正常。
出现的问题时,我想更新存储过程的列(可以说IsActive),它被添加到模型中后提交,我不存在的数据库更新(所以新的数据库创建)。 然后它失败
无效的列名称'IsActive'。
任何很好地解决的是,除了去除到
SQL(Properties.Resources.Create_sp_DoSomething)所有现有呼叫;
只有在最新的DbMigration中才有它。
当你做出这个脚本幂(这是需要),你需要添加* GO *下降之间的语句和创建SP,这* ExecuteSqlComma方法nd()*将需要类似https://smehrozalam.wordpress.com/2009/05/12/c-executing-batch-t-sql-scripts-with-go-statements/ –