【发布时间】:2008-12-29 17:18:18
【问题描述】:
假设我有与这里相同的数据库架构:http://www.databaseanswers.org/data_models/driving_school/index.htm
如果客户进行了预订,并且与另一个预订在同一天和同一时间,我该如何优雅地处理这个业务问题?此外,如果同时进行两次预订怎么办?这是一个与多线程类似的并发问题。
我正在为这个项目使用 Sqlite、C# 和 ASP.NET。
谢谢
【问题讨论】:
假设我有与这里相同的数据库架构:http://www.databaseanswers.org/data_models/driving_school/index.htm
如果客户进行了预订,并且与另一个预订在同一天和同一时间,我该如何优雅地处理这个业务问题?此外,如果同时进行两次预订怎么办?这是一个与多线程类似的并发问题。
我正在为这个项目使用 Sqlite、C# 和 ASP.NET。
谢谢
【问题讨论】:
这就是交易的用途。您的预订代码应开始交易,使用 SELECT 确认时间可用,如果可用,则插入或更新数据库以进行预订,最后提交交易。
如果时间不可用,要么不插入或更新数据库以进行预订,要么回滚事务。
【讨论】: