尝试使用 Linq 到实体在简单表中查找记录时出错
本文关键字:简单 查找记录 出错 实体 Linq | 更新日期: 2023-09-27 18:34:26
我有一个简单的表格"订单",里面有几条记录。我正在使用代码
Order order;
if (reg.OrderId != null)
{
order = db.Orders.Find(reg.OrderId);
}
else
{
order = new Order();
}
从我的表中获取现有订单。OrderId 的计算结果为一个简单的整数(即 55)。
单步执行代码时,出现错误:"此表达式会导致副作用,不会被计算"
但是,如果我在 LinqPad 中针对相同的上下文进行相同的调用,它会按预期返回数据。这似乎是一段非常简单的代码。
为什么我会收到错误?和/或我如何进一步解决此问题,因为它在 LinqPad 中工作?
我不确定为什么你会得到错误,但这里有一个建议:
Order order;
if(order == null)
{
if (reg.OrderId != null)
{
order = db.Orders.Where(o => o.OrderId == reg.OrderId).FirstOrDefault();
}
else
{
order = new Order();
}
}