最もエレガントなソリューションを利用するか、最も軽量なライブラリを使用して、特定のレコードのシーケンスを生成しようとしています。これは、SQL Azure を使用して Azure でホストされるマルチテナント システムになります。すべてのテナントが同じデータベースを共有します。ASP MVC4 アプリケーションです。
テナント A とテナント B の両方が 2 つの異なる費用を追加します。各レコードは、システムが使用する一意の ID (おそらく INT または GUID) を取得しますが、各レコードには、テナントごとに増加する int である Tenant-Human-Readable ID が必要です。なんで?各テナントが関連付けることができる独自の増分番号を持っていると便利です。おそらく、請求書番号を考えてみてください。
たとえば、
テナント A が費用を追加します。PKEY = 1 / Sequence = 1
テナント B が経費を追加します。PKEY = 2 / Sequence = 1
テナント A が経費を追加します。PKEY = 3 / シーケンス = 2
1 つの解決策は、シーケンス タイプ、テナント ID、および次の値を持つテーブルを保持し、それをクエリして、経費を挿入する直前にインクリメントすることです (同じ例を使用するため)。これは、長期的にはデータベースのパフォーマンスの低下に備えているようです。
この状況で役立つ別の手法やライブラリはありますか?