我目前有一個異步查詢如下,這是很好,並允許我使用FirstOrDefaultAsync/ToListAsync方法。LINQ選擇新的異步/等待
public async Task<X> FindXAsync(int x)
{
var q = from c in context.X
where c.Id == x
select c;
return await q.FirstOrDefaultAsync();
}
但是我試圖來擴展查詢,選擇到一個新的類
public async Task<XClass> FindXAsync(int x)
{
var q = from c in context.X
where c.Id == x
select new XClass (
c.Id,c.Header .........
);
return await q.FirstOrDefaultAsync();
}
對於上面可以不再使用FirstOrDefaultAsync()只FirstOrDefault(),我不知道會是什麼是將此功能引入異步方法的最有效方法。 謝謝, 克里斯
爲什麼你不能? – tede24
爲什麼不使用'context.X.FirstOrDefaultAsync(y => y.Id == x);'? –
@MihailStancescu因爲他想投影結果與選擇 – tede24