在EF dll中嵌入自定义SSDL

时间:2011-07-28 08:31:21

标签: c# entity-framework dll embed

作为我正在开发的项目的一部分,我们需要支持Sql Server和Sql Server Compact。现在因为它只是两个,我不介意创建一个自定义的ssdl通过T4模板从默认的Sql Server生成,这很好。但是,这确实涉及传递创建的文件并引用它的路径。

在部署方面,我想直接将自定义ssdl文件嵌入到dll中,并且最好像使用标准ssdl一样访问它,例如:在连接字符串中有res://*/Model.SqlServerCe.ssdl或类似内容。

我已经尝试过搞乱VS构建操作并且有点谷歌但似乎无法找到任何与将自定义额外元数据文件嵌入到单个dll相关的内容。这是任何人以前遇到的事情或知道如何做的事情吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

事实证明我有点傻,将ssdl设置为嵌入构建操作,然后您可以通过其完全限定名称访问嵌入资源,例如: res://*/<dll namespace>.Model.SqlServerCe.ssdl,我通过调用Assembly.GetManifestResourceNames()找到了它。很明显,如果你考虑一下,doh。

感谢Ladislav让我看得更近一点。