我使用LinqToEntity减少库存数量。 这可以被多个客户一次调用。
当我使用ExecuteSqlCommand(查询)时,实际结果还可以。 我试图一次使用2个客户端程序运行代码。
for (int i = 0; i < 1000; i++)
{
var ic = InventoryContainer.FirstOrDefault(p => p.RawID == 1);
ic.QuantityCurrent -= 1;
Thread.Sleep(50);
SaveChanges();
}
Original : 0
ExpectedResult : -2000
ActualResult : -1032
但是当我使用LinqToEntity和SaveChanges()并同时运行2个客户端程序时,实际结果会有很大不同。
Docker version: 1.10
Env : CentOS 7
我需要使用LinqToEntity运行它,因为很多数据处理都是使用LinqToEntity执行的,并且想要在事务中只调用一次SaveChanges()。