我使用實體框架。我創建實體模型。我想在運行時從DbContext獲取所有類型的實例。如何從ObjectContext中提取類型列表?
public class MyClass
{
WdmEntities _context = = new WdmEntities();
ObjectContext objContext = ((IObjectContextAdapter)_context).ObjectContext;
EntityContainer container = objContext.MetadataWorkspace.GetEntityContainer(objContext.DefaultContainerName, DataSpace.CSpace);
//even if c=>c.FullName
List<string> nameTypes = container.BaseEntitySets.OfType<EntitySet>().Select(c=>c.Name).ToList();
List<Type> types = new List<Type>();
foreach(var name in nameTypes)
{
//.GetType return null
types.Add(Type.GetType(name));
}
}
ElementType在彙編中具有FullName但不等於完整名稱的類型。它的問題。示例ElementType =「WdmModel.display_type」,但是我確實在EditorX.EntityModel命名空間中有一個類display_type – isxaker
@Mikhail我編輯了答案。 –
我的答案也在工作。 Thnks – isxaker