实体框架中多个数据库的预生成视图

时间:2012-08-03 12:13:14

标签: entity-framework views multiple-databases

我们已在应用程序中使用Entity Framework v1实现了多个数据库支持(如Multiple database support with Entity Framework中所述)。我们使用SQLSQL 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使用预生成的视图。

所以,我的问题是:在实体框架中使用多个数据库时,这是否是使用预生成视图的方法?

1 个答案:

答案 0 :(得分:1)

我不确定这是否适用于您的问题。但我得到了相同的错误消息,我意识到这是由于这个原因,我在其中一个模型类中做了一些更改,但没有为它添加迁移。

所以我做的是,

在包管理器控制台中我给出了以下命令

add-migration "Migration###"

然后运行update-database命令

这就是诀窍。