C# 实体框架。无法检索数据
我遇到了非常奇怪的行为,我真的不知道这可能与什么有关。我尝试了两种方法来检索数据:纯LINQ和存储过程,但数据不会返回。没有错误或例外。在SQL Server端,我可以从探查器中看到存储过程已经执行C# 实体框架。无法检索数据,c#,sql,entity-framework,linq,C#,Sql,Entity Framework,Linq,我遇到了非常奇怪的行为,我真的不知道这可能与什么有关。我尝试了两种方法来检索数据:纯LINQ和存储过程,但数据不会返回。没有错误或例外。在SQL Server端,我可以从探查器中看到存储过程已经执行 public async Task<IEnumerable<OrdersDto>> GetAll(int userid) { OrdersDto[] result; try { SqlParameter param = new SqlP
public async Task<IEnumerable<OrdersDto>> GetAll(int userid)
{
OrdersDto[] result;
try
{
SqlParameter param = new SqlParameter("@UserId", userid);
result = await _db.Database.SqlQuery<OrdersDto>("UserOrders @UserId", param).ToArrayAsync();
//var result = await _db.Order.Where(x=> x.CustomerId == 1)
// .Include(x => x.OrderDetails)
// .Include(x => x.OrderStatus)
// .Include(x => x.PaymentStatus)
// .AsNoTracking().ToArrayAsync();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return result;
}
public异步任务GetAll(int userid)
{
OrdersDto[]结果;
尝试
{
SqlParameter param=新的SqlParameter(“@UserId”,UserId);
result=await_db.Database.SqlQuery(“UserOrders@UserId”,param).ToArrayAsync();
//var result=await_db.Order.Where(x=>x.CustomerId==1)
//.Include(x=>x.OrderDetails)
//.Include(x=>x.OrderStatus)
//.包括(x=>x.PaymentStatus)
//.AsNoTracking().ToArrayAsync();
}
捕获(例外情况除外)
{
抛出新异常(例如消息);
}
返回结果;
}
当到达等待
时,线程将返回给调用者。检查等待
结果时,由于您没有等待任务完成,因此无法获得结果。如果同步运行查询,则可以看到所需的结果:
result = _db.Database.SqlQuery<OrdersDto>("UserOrders @UserId", param).ToArray();
result=_db.Database.SqlQuery(“UserOrders@UserId”,param).ToArray();
异步运行此代码没有问题,但您应该仅在任务完成时检查结果:当到达您的
等待
时,线程将返回给调用者。检查等待
结果时,由于您没有等待任务完成,因此无法获得结果。如果同步运行查询,则可以看到所需的结果:
result = _db.Database.SqlQuery<OrdersDto>("UserOrders @UserId", param).ToArray();
result=_db.Database.SqlQuery(“UserOrders@UserId”,param).ToArray();
异步运行此代码没有问题,但您应该仅在任务完成时检查结果:是否已检查连接字符串是否已尝试同步运行?看看它是否能正常工作?@wandos,应用程序中有很多查询工作正常,所以这不是确定的连接字符串。@s.Akbari,不,但这是个好主意。让我试试。你说数据不回来是什么意思?还有什么是用于保存SP结果的
OrdersDto
-实体模型类还是just类?是否检查了连接字符串是否尝试同步运行?看看它是否能正常工作?@wandos,应用程序中有很多查询工作正常,所以这不是确定的连接字符串。@s.Akbari,不,但这是个好主意。让我试试。你说数据不回来是什么意思?还有什么是OrdersDto
-实体模型类还是仅用于保存SP结果的类?