【发布时间】:2011-01-24 20:21:12
【问题描述】:
我正在为一个带有 Entity Framework 4 edmx 的类项目预生成视图,该 edmx 由 asp.net 应用程序使用。
我用作参考的资源是:
http://blog.willbeattie.net/2010/04/pre-generating-views-in-entity.html 和 http://msdn.microsoft.com/en-us/library/bb896240.aspx
我遇到的问题与源代码管理有关,并且还提出了另一个关于将 csdl/msl/ssdl 文件嵌入到程序集中的问题。上面的文章表明需要将上述资源嵌入到程序集中,方法是将它们包含在项目中并设置要嵌入的文件。
但这让我想知道,由于这些文件是在构建时生成并在之后复制的,程序集不是总是包含 last 版本的 csdl/msl/ssdl 文件吗?由于这些文件是在构建时生成并在要嵌入的项目中标记的,因此嵌入到程序集中的文件似乎是先前在先前构建中生成的文件。
我的问题的核心是源代码控制。如果每次删除项目时我都在源代码管理中包含 csdl/msl/ssdl 文件,它将不会构建,因为这些文件将被标记为只读,并且当构建后过程尝试复制新生成的文件时,Visual Studio 将出错文件覆盖从源代码管理中删除的文件,这些文件被标记为只读。由于这些文件是构建项目所必需的,但直到项目构建后才生成,我目前看不到如何成功地将 csdl/msl/ssdl 文件检查到源代码控制中,只保留对它们的引用在那里的项目文件中。这适用于在预构建时生成的 Views.cs 文件,但不适用于在构建后复制的 csdl/msl/ssdl 文件。
【问题讨论】:
标签: entity-framework visual-studio-2010 entity-framework-4