C# 给定DbContext类型,获取所有实体类型列表的最佳方法是什么? var dbContext=Ioc.Container.GetInstance(); IEnumerable entityTypes=dbContext.GetType().GetTypeInfo().GetProperties() .Where(apPropertyInfo=>apPropertyInfo.PropertyType.Name.Contains(值:“DbSet”)) .Select(p=>p.PropertyType.GenericTypeArguments.First());

C# 给定DbContext类型,获取所有实体类型列表的最佳方法是什么? var dbContext=Ioc.Container.GetInstance(); IEnumerable entityTypes=dbContext.GetType().GetTypeInfo().GetProperties() .Where(apPropertyInfo=>apPropertyInfo.PropertyType.Name.Contains(值:“DbSet”)) .Select(p=>p.PropertyType.GenericTypeArguments.First());,c#,entity-framework,C#,Entity Framework,是我所做的,但是有更干净的吗?你看过这个问题的答案了吗?谢谢,这很有效,没有魔术弦。我看过它,但出于某种原因认为它过时了,在EF6上不起作用,但我只是对它进行了编码,它的工作原理与我的相同,但代码更好。谢谢一个音符。MDF方式要求您拥有DbContext的实例,而我的原始方式只需要类型 var dbContext = Ioc.Container.GetInstance<MyDbContext>(); IEnumerable<Type> entityType

是我所做的,但是有更干净的吗?

你看过这个问题的答案了吗?谢谢,这很有效,没有魔术弦。我看过它,但出于某种原因认为它过时了,在EF6上不起作用,但我只是对它进行了编码,它的工作原理与我的相同,但代码更好。谢谢一个音符。MDF方式要求您拥有DbContext的实例,而我的原始方式只需要类型
var dbContext = Ioc.Container.GetInstance<MyDbContext>();
        IEnumerable<Type> entityTypes = dbContext.GetType().GetTypeInfo().GetProperties()
            .Where(aPropertyInfo => aPropertyInfo.PropertyType.Name.Contains(value: "DbSet"))
            .Select(p => p.PropertyType.GenericTypeArguments.First());