1

我正在使用迁移,但我不得不手动添加SQL视图,因为它从其他表中不会映射到我的上下文/存储库中的表中。使用实体框架进行SQL查看5代码优先迁移

但是,现在它认为上下文已经改变。我看到this answer问同样的问题,但它不能解决问题。我不能只从现有实体创建视图模型。

还有别的办法吗?我不介意使用SqlQuery,如果我可以这样的:

context.Database.SqlQuery<ContactsByPartyCampaignViewModel>("myView") 

我是否需要删除迁移? Application_Start()下的Global.asax Database.SetInitializer<MyDbContext>(null);

将解决你的问题:

回答

0

试试这个:

添加此。

+0

谢谢,我现在只是使用控制台应用程序和测试项目,所以我没有global.asax文件。我把它放在模型构建器覆盖中,并且工作。它确实做到了这一点?它跳过寻找迁移?当我运行Add-Migration时,它仍然会启动它。 – scojomodena

+0

如果您提到这实际上是在做什么,以便其他人可以就这是否适合他们做出明智的决定,那该多好。 – BenjaminPaul

+0

@BenjaminPaul:我们使用它来设置'DbInitialization'策略为空,而不是让代码首先使用默认的''CreateDatabaseWhenNotExist'',或者使用其他人之一 DropCreateDatabaseWhenModelChanges“,或者甚至是基于内置策略创建的自定义策略。 您通常在应用程序启动时设置'DbInitialization'策略,例如在web应用程序的'global.asax'中,即使您将它设置为null,也会执行相同的操作。 –

相关问题