按照documentation爲EF6異步方法,ObjectResult實現IDbAsyncEnumerable <T>
,IDbAsyncEnumerable - 這應該意味着它實現如ObjectResult <T>
異步方法。 ToListAsync(),對吧?不適用於ObjectResult <T>
不過,我沒有看到,調用在Visual Studio中一個可能的方法,這樣當一個存儲過程:
public async Task<List<MyObject>> GetResultFromMyStoredProcedure(string foo, string bar)
{
return await context.My_Stored_Procedure(foo, bar).ToListAsync();
}
但調用存儲過程作爲查詢似乎工作:
public async Task<List<MyObject>> GetResultFromMyStoredProcedure(string foo, string bar)
{
var fooParam = new SqlParameter("@foo", foo);
var barParam = new SqlParameter("@bar", bar);
return await context.Database.SqlQuery<T>("My_Stored_Procedure @foo, @bar", fooParam, barParam).ToListAsync();
}
我確定我的項目正在引用正確的EF dll(6.1.3) - 使用NuGet。我錯過了什麼?
那麼你會得到什麼確切的錯誤信息? –
ObjectResult不包含「ToListAsync」的定義。 –
DarkSkyForever
那麼你期望它使用哪個確切的'ToListAsync'方法?它不是'IDbAsyncEnumerable'的一部分,所以大概你期待一個擴展方法......你有那種方法的文檔嗎? –