我知道 IDENTITY 字段,但我有一种感觉,我无法使用一个来解决我的问题。
假设我有多个客户。每个客户都有多个订单。每个客户都需要为他们的订单按顺序编号,具体到他们自己。
示例表结构:
Orders:
OrderID | ClientID | ClientOrderID | etc...
此表的一些示例行将是:
OrderID | ClientID | ClientOrderID | etc...
1 | 1 | 1 | ...
2 | 1 | 2 | ...
3 | 2 | 1 | ...
4 | 3 | 1 | ...
5 | 1 | 3 | ...
6 | 2 | 2 | ...
我知道天真的方法是将 MAX ClientOrderID 用于任何客户端并将该值用于 INSERT,但这会受到并发问题的影响。我正在考虑使用事务,但我不太确定可用于此的最广泛的隔离范围。我将使用 LINQ to SQL,但我觉得这无关紧要。