gpt4 book ai didi

ef-code-first - 如何从 EF CodeFirst DbContext 获取 dbsets 元数据?

转载 作者:行者123 更新时间:2023-12-03 22:21:48 25 4
gpt4 key购买 nike

您如何以编程方式从 EF CodeFirst dbcontext 获取 dbset 类的元数据?这是为了代码生成目的而循环。

最佳答案

经过一些额外的研究,我想我找到了答案。基本上,您必须下拉到 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);

}

谢谢,
将要

关于ef-code-first - 如何从 EF CodeFirst DbContext 获取 dbsets 元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com