如何一般初始化DataSpace.SSpace和DataSpace.CSpace?

时间:2013-07-11 01:18:42

标签: c# entity-framework-5 metadata

我正在创建一个通用的EF模型浏览器,通过选择其DLL加载模型,然后使用反射来实例化ObjectContext。

该部分正在运行 - 问题是需要DataSpace.SSpace和DataSpace.CSpace失败的操作,我正在试图弄清楚如何以通用方式初始化这些所有我的运行时EF实用程序元数据查询使用它们的函数将起作用。

是否有办法初始化此元数据信息,同时只提供DLL(EDMX不可用)。

提前感谢任何潜在客户。

1 个答案:

答案 0 :(得分:1)

感谢Julie Lerman,Craig Stuntz和Hadi Hariri,我能够使用http://social.msdn.microsoft.com/Forums/en-US/dd7b1c41-e428-4e29-ab83-448d3f529ba4/creating-an-entity-connection-from-a-sql-connection中显示的语法找到解决方案。它可能不是最佳的,但这有效:

var workspace = new MetadataWorkspace(new string[] { "res://*/" }, 
    new Assembly[] { AssemblyContainingYourModel });

我也尝试使用MetadataWorkspace.LoadAssembly(),但结果是:

The space 'OSpace' has no associated collection.