次のようなエンティティを考えてみましょう:
public class Document
{
public int Id { get; set; }
public long code { get; set; }
// Rest of Props
}
私が必要としているのは、一意の長いコードを生成することであり、ID に基づいて生成することを好みます。
シンプルで古典的だが安全でない解決策の 1 つは、最後の Id を取得してそれを 1 増やして使用することですが、計算列などのより良い解決策や、コード生成をデータベースに割り当てる他の方法を探しています。
- 計算列として定義しようとすると Id にアクセスできません。
- Id はすでに Identity 列であるため、Identity としてマークすることはできません。
- 最後の Id を取得するメソッドを作成することは、安全でクリーンではありません。
今では、安全にするためにトランザクションの助けを借りて、以前の古典的なソリューションを実行しようとしています。
より良い提案はありますか?