我在保存对已加载的数据所做的更改方面遇到问题。我在数据的文本文件中读取已经完成的订单,将其保存到数据库中,然后检查这些订单以查找特定项目。如果订单有此项目(例如,漂白),我将订单的状态设置为等待批准,以便主管在处理之前查看订单。我的问题是,当我加载一个只有几个订单的文件时,订单的状态成功保存为等待批准,当它找到带有漂白的订单时。当文件很大时,更改不会保留,状态仍为“准备付款”(首次保存时设置的状态)。代码非常简单,
foreach(App_Order currentOrder in Orders)
{
foreach(App_Item currentItem in currentOrder)
{
if(currentItem == bleach) // this is just an example
{
currentOrder.Status = 'AwaitingApproval';
_unitOfWork.Orders.Update(currentOrder);
_unitOfWork.Save();
break;
}
}
}
我已经尝试在保存周围放置一个try / Catch,看它是否抛出任何异常但没有异常。
提前致谢:)
答案 0 :(得分:0)
如果你没有写相等的运算符,if(currentItem == bleach)
总是返回false。通过比较属性来检查相等性。
实施例
if(currentItem.Status == bleach.Status)