尝试使用 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 中工作?

尝试使用 Linq 到实体在简单表中查找记录时出错

我不确定为什么你会得到错误,但这里有一个建议:

Order order;
if(order == null)
{
    if (reg.OrderId != null)
    {
        order = db.Orders.Where(o => o.OrderId == reg.OrderId).FirstOrDefault();
    }
    else
    {
        order = new Order();
    }
}