我希望每http://msdn.microsoft.com/en-us/library/bb896240.aspx使用预先生成的EF视图来加快加载时间。这在我的本地环境中运行良好,我的连接字符串包含“metadata =〜/ bin / Models \ DSManagedCoModel.csdl |〜/ bin / Models \ DSManagedCoModel.ssdl |〜/ bin / Models \ DSManagedCoModel”。 MSL”。当我使用localhost调试时,它工作得很好。然后,当我使用127.0.0.1尝试它时,它给了我一个错误“指定的元数据路径无效”。我通过添加将文件复制到Azure云项目bin目录(实际上是其Models子文件夹)的构建事件来修复127.0.0.1。但是,当我尝试发布到Azure时,我收到类似的消息“指定的元数据路径无效”。 是否可以在Azure中使用预先生成的EF视图?怎么样?
答案 0 :(得分:1)
我建议将CSDL等嵌入为资源,而不是将它们保存为文件。将CSDL等文件添加到项目中,并指定“Embedded Resoruce”作为构建操作。然后你可以这样做:
metadata="res://MyAssembly.dll/MyAssembly.bin.Models.DSManagedCoModel.csdl| //etc.
请注意,这些文件实际上不是预生成的视图;他们只是模特。但是你需要它们用EDMGen生成视图。
答案 1 :(得分:1)
遇到了这篇优秀的文章,它真正帮助解决了与预先生成的视图混淆的一些问题: http://blog.willbeattie.net/2010/04/pre-generating-views-in-entity.html