2

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

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

有没有办法在只有 DLL 可用时初始化此元数据信息(EDMX 不可用)。

提前感谢任何线索。

4

1 回答 1

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.
于 2013-07-11T04:59:18.137 回答