這是我一直在處理的 .NET EF Core 簡化方案:
abstract class Colour
class Blue : Colour
class Green : Colour
class MyClass {
public List<Colour> Colours { get; set; }
}
我已經設定了資料庫,以便所有顏色都在一個表中:
公共 DbSet Blues { 獲取;放; } 公共 DbSet Greens { 獲取;放; }
builder.Entity<Colour>()
.ToTable("Colours")
.HasDiscriminator<int>("ColourType")
.HasValue<Blue>((int)ColourType.Blue)
.HasValue<Green>((int)ColourType.Green);
當我使用 LINQ 進行查詢時,我可以執行以下操作:
List<Colours> MyList = MyClass.Colours;
上面的查詢回傳所有顏色型別的串列。
我的問題是這個。如何進行直接 LINQ 查詢以檢索所有顏色?這是不可能的:DbContext.Colours。我擁有的選項是 DbContext.Blues 和 DbContext.Greens。另一種情況是當我想檢索顏色但我不知道它是什么型別時。
uj5u.com熱心網友回復:
如何進行直接 LINQ 查詢以檢索所有顏色?
您已經將 Color 配置為 DbContext 中的物體,因此您可以簡單地撰寫
var colors = db.Set<Color>().ToList();
或者為它添加一個 DbSet:
public DbSet<Blue> Blues { get; set; }
public DbSet<Green> Greens { get; set; }
public DbSet<Color> Colors{ get; set; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/461442.html
