如果我想包括在EF7查詢相關的對象,這是不錯的,易於:如何在DbSet.Find()中包含相關表?
var myThing = db.MyThings
.Include(t => t.RelatedThing)
.Where(t => t.SomeCondition == true)
.ToList();
此外,還有對DbSet<T>
一個很好的方法,可以很容易被它的鍵加載一個對象:
var myThing = db.MyThings.Find(thingId);
但現在我想通過它的Id加載myThing
以及它的RelatedThing
。不幸的是(並且可以理解).Find()
是DbSet<T>
的方法,而不是IQueryable<T>
。很顯然,我可以這樣做:
var myThing = db.MyThings
.Include(t => t.RelatedThing)
.SingleOrDefault(t => t.MyThingId == thingId);
但是我特別想用.Find()
方法,因爲它是很好的和通用的,我正在寫一般加載記錄有沿方法「包含」由Expression<Func<T, object>>
指定的關係。
任何建議如何做到這一點?
請原諒我這個愚蠢的問題,但我找不到EF Core中的Find方法,它在哪裏? –
@IvanStoev它是'Microsoft.EntityFrameworkCore'命名空間中'DbSet'類的一種方法。確保你正在使用最新的預發佈版本。 –
我與RTM :) –