2

我试图使用预编译的视图来获得良好的性能,我成功​​地生成了视图,并且在编译时和运行时 .edmx 中的一切都是相同的。早些时候,默认连接工厂的数据提供程序存在错误,.edmx 总是将 SqlClient 提供程序用于默认连接工厂,即使您将默认连接工厂更改为其他数据提供程序,但是当我注释掉类的构造函数时,这种情况得到了克服继承 DbContext,在 .edmx 文件中的此连接提供者与我在 app.config 中的默认连接工厂中指定的相同之后。因此,在编译时生成的 .Edmx 和运行时 .edmx 中的一切都是相同的。

但是当我在编译时生成视图并使用视图来优化性能时,当我调用 dbcontext.SaveChanges() 时会引发以下异常

“EntityContainer 'DatabaseContext' 的映射和元数​​据信息不再匹配用于创建预生成视图的信息。”

上述异常表明存在一些不匹配,但我检查了 edmx,一切都一样。所以是什么问题。或者我经历过这个

预编译视图不影响性能

因为它暗示了不同的装配问题。因此,对于我的情况,我有一个 project1,它有几个 POCO 类和不同的 project2,它引用 project1 并使用 project1 的 POCO 类,并且 DbContext 类已经在 project2 中定义,我正在为 project2 生成视图,那么到底是什么问题在此先感谢您的帮助

4

0 回答 0