我有一个简单的表“Orders”,里面有几条记录。我正在使用代码
Order order;
if (reg.OrderId != null)
{
order = db.Orders.Find(reg.OrderId);
}
else
{
order = new Order();
}
从我的表中获取现有订单。 reg.OrderId求值为一个简单的整数(即55)。
当单步执行代码时,我收到错误:“此表达式会导致副作用,不会被评估”
但是如果我在LinqPad中针对相同的上下文进行相同的调用,则会按预期返回数据。这似乎是一段非常简单的代码。
为什么我收到错误?和/或我如何进一步解决这个问题,因为它在LinqPad中工作?
答案 0 :(得分:0)
我不确定你为什么会收到错误,但这是一个建议:
Order order;
if(order == null)
{
if (reg.OrderId != null)
{
order = db.Orders.Where(o => o.OrderId == reg.OrderId).FirstOrDefault();
}
else
{
order = new Order();
}
}