gpt4 book ai didi

c# - 从 Entity Framework Core 中的实体获取 DbContext

转载 作者:行者123 更新时间:2023-12-04 13:04:16 24 4
gpt4 key购买 nike

有没有办法获取正在跟踪实体的 DbContext 实例(如果有)?

我发现以下 EF6 建议/解决方案
Get DbContext from Entity in Entity Framework

public static DbContext GetDbContextFromEntity(object entity)
{
var object_context = GetObjectContextFromEntity( entity );

if ( object_context == null )
return null;

return new DbContext( object_context, dbContextOwnsObjectContext: false );
}

private static ObjectContext GetObjectContextFromEntity(object entity)
{
var field = entity.GetType().GetField("_entityWrapper");

if ( field == null )
return null;

var wrapper = field.GetValue(entity);
var property = wrapper.GetType().GetProperty("Context");
var context = (ObjectContext)property.GetValue(wrapper, null);

return context;
}

有没有办法在 EF Core 中获得这个结果?

最佳答案

不可以。EF Core 还没有延迟加载。如果有,那么,从它生成的代理最终将引用加载它的 DbContext。到目前为止,还没有这样的引用。

关于c# - 从 Entity Framework Core 中的实体获取 DbContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41893359/

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