複数の句を持つエンティティフレームワークの非同期メソッドをテストする方法
-
20-12-2019 - |
質問
MOQ 4.0.10827でEF 6.0.2でASYNC方式を統括しようとしています。鋳造問題のように見えるものにブロックされています。
次の作品は大丈夫:
public async Task<List<Testimonial>> GetByEventIdAsync(int eventId)
{
var query = from t in _context.Testimonials
orderby t.Ordinal
select t;
var result = query
.ToListAsync()
.ConfigureAwait(false);
return await result;
}
.
しかし、次のブレーク(AD WHERE句を追加)
public async Task<List<Testimonial>> GetByEventIdAsync(int eventId)
{
var query = from t in _context.Testimonials
where t.EventId == eventId
orderby t.Ordinal
select t;
var result = query
.ToListAsync()
.ConfigureAwait(false);
return await result;
}
.
私はいくつかのデバッグをし、次の
を見つけましたvar q1 = _context.Testimonials; // Type = Castle.Proxies.IDbSet`1Proxy_1
var q2 = q1.Where(t => t.EventId == eventId); // Type = TestDbAsyncEnumerable`1 (from linked code)
var q3 = q2.OrderBy(o => o.Ordinal); // Type = System.Linq.EnumerableQuery`1
.
クラスが倍が消えているのはなぜですか?そしてどのように修正するのですか?
アップデート:私はまた、where
をバックしてorderby
を追加した場合、その問題は複数の句を持つようです。
所属していません StackOverflow