c# – 如何使用ORM处理并发

假设我正在编写一个用户必须预约的应用程序(在我的情况下,用户与员工配对,该员工将在一天的特定时间为该用户工作).我如何确保2个用户最终没有使用NHibernate或Entity Framework预订相同的约会?我会打开一个交易并执行以下操作:

BeginTransaction();

if(!AppointmentBooked(userId, employeeId, time)) // read
   BookAppointment(userId, employeeId, time); // write

CommitTransaction();

最佳答案 查看这篇文章可能会有所帮助.我遇到了像你这样的问题.实体框架具有通过配置执行非乐观并发的能力.

http://msdn.microsoft.com/en-us/library/bb738618.aspx

点赞