Entity Framework 6,DbContext.Database.SqlQuery<int> 没有提供转换为 ToList() 的选项
Entity Framework 6, DbContext.Database.SqlQuery<int> is not giving option to convert to ToList()
我正在使用 Entity Framework 6 通过 Database.SqlQuery<TElement>
方法执行存储过程,此方法不允许我将结果转换为 ToList()
。它可以选择转换为 ToListAsync()
,不知道为什么
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()"
}
任何帮助将不胜感激。
Database.SqlQuery
返回的DbRawSqlQuery
class没有实现任何ToList()
方法,所以不能直接将result转为列表。但它实现了 IEnumerable<T>
接口,因此您应该能够使用 IEnumerable<T>
.
的 ToList()
扩展方法
我想,这个扩展方法不可用的原因是缺少 using
语句,它将扩展方法从 nemaspace 带到当前范围。
using System.Linq;
我正在使用 Entity Framework 6 通过 Database.SqlQuery<TElement>
方法执行存储过程,此方法不允许我将结果转换为 ToList()
。它可以选择转换为 ToListAsync()
,不知道为什么
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()"
}
任何帮助将不胜感激。
Database.SqlQuery
返回的DbRawSqlQuery
class没有实现任何ToList()
方法,所以不能直接将result转为列表。但它实现了 IEnumerable<T>
接口,因此您应该能够使用 IEnumerable<T>
.
ToList()
扩展方法
我想,这个扩展方法不可用的原因是缺少 using
语句,它将扩展方法从 nemaspace 带到当前范围。
using System.Linq;