我正在 ASP.NET MVC、C# 和 LINQ to SQL 中开发三明治订购应用程序。该应用程序围绕用户从一系列成分中创建多个定制三明治展开。
在确认订单时,我需要知道每种成分都有足够的部分来满足用户订单中的所有三明治,然后再提交给数据库,因为在将其添加到他们的购物篮并确认订单。
关于数据库的一点:
成分 – 存储成分详细信息,包括份数
订购 – 订单的标题表,仅存储订单时间
订单详情 – 按顺序存储每个三明治的记录
订单详情项目 – 按顺序存储每个三明治中的每种成分
所以基本上我想知道在我将记录添加到 Order、OrderDetail 和 OrderDetailItem 之前,确保可以满足订单的最佳方法是什么。
最佳答案
try
{
Begin netTransaction();
If (IsEnoughIngredients())
{
1. Build your sandwich
2. Add sandwich to data context with a timestamp (or whatever you chose for concurrency checking)
3. SubmitChangesToDataContext()
4. CommitNetTransaction()
}
} catch (Exception e)
{
Rollback netTransaction();
InformUser();
}
关于sql - LINQ 到 SQL : Issue with concurrency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2896439/