![](/img/trans.png)
[英]How can I find all DbSets whose generic types derive from a given base type?
[英]Creating generic DbSets based on entity types
在EF代码中,首先使用以下代码平静性,我可以根据每种实体类型创建非通用DbSets
:
foreach (var entry in _dbContext.ChangeTracker.Entries<BaseEntity>())
{
BaseEntity entity = entry.Entity;
Type type = entity.GetType();
var set = _dbContext.Set(type);
}
有什么方法可以将它们创建为Generic DbSet
?
不容易。 如果确实需要获取泛型DbSet
,则可以使用反射调用Set<>
的正确泛型重载。 除此之外,为了调用泛型方法,您需要在编译时知道正确的泛型类型参数。 抛开反思,每当您在运行时最终使用Type
对象时,就会失去使用泛型类型的能力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.