2015-11-04 64 views
2

我正在使用實體框架6執行與Database.SqlQuery<TElement>方法的存儲過程,此方法不允許我將結果ToList()。它必須轉換爲ToListAsync()的選項,不知道爲什麼image實體框架6,DbContext.Database.SqlQuery <int>沒有給出選項轉換爲ToList()

using (var context = new UserAddressContext()) 
{ 
    var Id = new SqlParameter("@Id", 1); 
    var count = new SqlParameter("@UserAddressCount", 0) 
      { 
       Direction = System.Data.ParameterDirection.Output 
      }; 
    List<UserAddress> result= context.Database.SqlQuery<int>("GetUserAddressandCount @Id, @UserAddressCount OUT", Id, count). --NOT GETTING OPTION AS "ToList()" 
} 

任何幫助將不勝感激。

回答

2

Database.SqlQuery返回的DbRawSqlQuery類沒有實現任何ToList()方法,所以不能直接將結果轉換爲列表。但它實現了IEnumerable<T>接口,因此您應該可以使用IEnumerable<T>ToList()擴展方法。

我想,爲什麼這種擴展方法不可用,原因是缺少using聲明,它將擴展方法從一個nemaspace帶到當前範圍。

using System.Linq; 
+1

感謝盧卡斯的回答,這對我有用,我不怎麼錯過了檢查...( – SoftLover