[英]How to create unit test for testing data insertion methods with Entity Framework?
[英]How to unit test async methods of Entity Framework with a multiple clauses
我正在嘗試使用Moq 4.0.10827對EF 6.0.2中的異步方法進行單元測試,並且我看起來像是一個轉換問題。
以下工作正常:
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;
}
但以下休息時間(添加了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
,這也有效,所以問題似乎有多個子句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.