我想从汇编中获得具有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”。
答案 0 :(得分:1)
由于csdl,ssdl和msl文件作为资源嵌入到程序集中,因此可以使用它们的名称来访问它们 Assembly.GetManifestResourceNames Method