2012-07-10 100 views
1

我为我的项目中的实体数据模型预生成视图;遵循MSDN给出的指示: http://msdn.microsoft.com/en-us/library/bb896240.aspx实体框架预生成视图

我已完成更改,没有任何问题。我现在可以看到添加到我的项目中的CSDL,SSDL和MSL文件。这是否意味着我每次更新实体数据模型时都必须更新这些文件?如果是这样,由于我们的数据库变化频繁,所以其相当多的开销。

是否有更好的方式来更新这些文件,每次我更新edmx?

感谢

+0

当您构建时,您没有看到它们为您更新吗?一旦添加到您的项目/解决方案中,这些文件仍将在您的构建事件中更新。但是,像VS中的大部分工具一样,如果你不构建你的项目,那么更新后的名称空间/类型/字段将不可用于IntelliSense,如果这正是你所追求的。 – MisterJames 2012-07-10 16:56:31

+0

我发现View文件在每个版本上都更新了。但是CSDL/SSDL/MSDL文件放置在bin目录中。说明要求将这些文件添加到项目中。因此他们被复制到项目中。所以每次重建时都不会更新。我可以在bin中添加文件链接,而不是将文件复制到项目中? – gunnerz 2012-07-11 07:52:00

回答

1

你可以做什么,我们在我们的项目做:

  • 打开EDMX并右键单击表面 - >属性。
  • 集元数据Artifcat处理为“复制到输出目录”
  • 生成的/斌/调试/ .csdl .msl和.ssdl添加到您的项目(显示在Solution Explorer中右键单击所有文件,在项目包括)
  • 接下来将.csdl .msl和.ssdl属性设置为嵌入资源。
  • 构建并引用运行时项目中实体框架连接字符串中的文件。
+0

如果您在运行时遇到问题,那么您可以使用我们的连接字符串样式: 2012-07-11 11:44:03

+0

我确信有一个比这更简单的命名机制,但尝试了几个后,我们得到了这个启动和运行,并明确命名res://而不是res:// *会提高性能。 – 2012-07-11 12:02:35

+0

谢谢瑞克。那就是我所做的。但是,如果您从bin \ debug添加CSDL/MSL/SSDL文件,每次重建EDMX时,都必须再次手动添加这些文件。这是我想要避免的。 – gunnerz 2012-07-18 11:08:09