sql - LINQ 到 SQL : Issue with concurrency

标签 sql linq concurrency

我正在 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/

相关文章:

java - 一个并发集合位于另一个集合中 : is it thread safe

MySQL 手动更改跟踪

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet性能

sql - postgresql 中仅附加日志的最新条目

c# - LINQ to SQL - 一对一关联问题

c# Linq 从字典中的列表中过滤掉记录

c# - 作为单独实例运行的单例 Azure 函数

并发编程——是否需要手动锁定多个进程将访问的文件?

php - 如何防止PHP中的SQL注入(inject)?

javascript - 标题在页面加载之前重定向,但仍然运行 SQL