如何以编程方式从EF CodeFirst dbcontext获取dbset类的元数据?这是为了代码生成目的而循环.
Wil*_*llC 16
经过一些额外的研究,我想我找到了答案.基本上,您必须下载到ObjectContext,即DbContext作为包装器的原始EF上下文,并使用下面的MetadataWorkspace信息.
如果有直接从DbContext获取这个的话,请添加另一个答案,因为如果有的话,它会更直观,更可取.
using System.Data.Metadata.Edm;
using System.Data.Objects;
using System.Data.Entity.Infrastructure;
...
using (dbcontext context = new TestContext())
{
ObjectContext objContext = ((IObjectContextAdapter)context).ObjectContext;
MetadataWorkspace workspace = objContext.MetadataWorkspace;
IEnumerable<EntityType> tables = workspace.GetItems<EntityType>(DataSpace.SSpace);
}
Run Code Online (Sandbox Code Playgroud)
谢谢,威尔
| 归档时间: |
|
| 查看次数: |
5680 次 |
| 最近记录: |