簡體   English   中英

根據實體類型創建通用DbSet

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM