我们已在应用程序中使用Entity Framework v1
实现了多个数据库支持(如Multiple database support with Entity Framework中所述)。我们使用SQL
和SQL Compact databases
。我们使用SQL db创建了ou模型,我们为comapct db( OurModel.SQLCE.ssdl )提供了单独的ssdl
文件。
一切正常,直到我们决定使用预先生成的视图。如果我们使用OurModel.ssdl
生成视图,那么一切都适用于SQL数据库,但它不适用于SQL CE数据库。我们得到以下例外:
System.Data.EntityCommandCompilationException:准备命令定义时发生错误。有关详细信息,请参阅内部异常---> System.Data.MappingException:EntityContainer的“OurModelEntities”的映射和元数据信息不再与用于创建预生成视图的信息匹配。
当我们的应用程序使用SQl CE数据库时,我们希望使用预生成的SQL和SQL CE数据库视图或turn-off
使用预生成的视图。
所以,我的问题是:在实体框架中使用多个数据库时,这是否是使用预生成视图的方法?
答案 0 :(得分:1)
我不确定这是否适用于您的问题。但我得到了相同的错误消息,我意识到这是由于这个原因,我在其中一个模型类中做了一些更改,但没有为它添加迁移。
所以我做的是,
在包管理器控制台中我给出了以下命令
add-migration "Migration###"
然后运行update-database
命令
这就是诀窍。