![](/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.