C# 如何从具有EF模型的组件中获取csdl、ssdl和msl规范

C# 如何从具有EF模型的组件中获取csdl、ssdl和msl规范,c#,.net,entity-framework,reflection,C#,.net,Entity Framework,Reflection,我想从具有EF模型的组件中获取csdl、ssdl和msl规范 使用反射: //loading assembly var assem = Assembly.LoadFile(assemblyWithEF.dll); //get model var model = assem.GetExportedTypes().Where(t => t.BaseType.Name == ObjectContext").First(); //get specification var csdlStream

我想从具有EF模型的组件中获取csdl、ssdl和msl规范

使用反射:

//loading assembly
var assem = Assembly.LoadFile(assemblyWithEF.dll);
//get model
var model = assem.GetExportedTypes().Where(t => t.BaseType.Name == ObjectContext").First();

//get specification
var csdlStream = assem.GetManifestResourceStream("Model1.csdl");
var mslStream = assem.GetManifestResourceStream("Model1.msl");
var ssdlStream = assem.GetManifestResourceStream("Model1.ssdl");

var csdl = XElement.Load(csdlStream);
var msl = XElement.Load(mslStream);
var ssdl = XElement.Load(ssdlStream)

问题是,如何以编程方式获取获取这些规范所需的EDMX文件名。在本例中为“Model1”。

由于csdl、ssdl和msl文件作为资源嵌入到程序集中,因此可以使用

为什么要获取这些资源?我正在尝试在edmx模型和db之间编写comparator。(找出数据库中缺少的内容等)