これは、ID シードを設定する方法を示しています。
dataannotations は、最初にコードを使用して主キーに ID シード値を設定します
最初にコードを使用して ID 増分値を設定するにはどうすればよいですか?
これは、ID シードを設定する方法を示しています。
dataannotations は、最初にコードを使用して主キーに ID シード値を設定します
最初にコードを使用して ID 増分値を設定するにはどうすればよいですか?
それを行う方法はありません。
エンティティを構成する方法 (規則、属性、流暢な API) のいずれも、それを行うことを許可していません。カスタム規則を使用して実装することもできません (つまり、カスタム規則は、列の名前、属性、型、包含型などをチェックし、流暢な API を使用して列またはエンティティを構成します)。少なくとも EF 6.1.1 まで。
SQL Server で ID を操作する唯一の方法は を使用するDBCC CHECKIDENT
ことですが、これはシード値のみを変更でき、インクリメントは変更できません。
増分を変更する場合は、列を削除して、データベース初期化Seed
メソッドで再度作成する必要があります。問題は、この列に関連するすべてのキー (PK または FK) を削除して作成する必要があることです。(これは SQL Server 2014 まで適用されます)
この回答を見て、考えられる解決策、代替案、回避策、機能するものと機能しないもの、およびこれを将来の EF リリースに含めるための投票へのリンクを説明します。