4

これは、ID シードを設定する方法を示しています。

EFコードファースト - IDシードを設定する方法は?

dataannotations は、最初にコードを使用して主キーに ID シード値を設定します

最初にコードを使用して ID 増分値を設定するにはどうすればよいですか?

4

1 に答える 1

3

それを行う方法はありません。

エンティティを構成する方法 (規則、属性、流暢な API) のいずれも、それを行うことを許可していません。カスタム規則を使用して実装することもできません (つまり、カスタム規則は、列の名前、属性、型、包含型などをチェックし、流暢な API を使用して列またはエンティティを構成します)。少なくとも EF 6.1.1 まで。

SQL Server で ID を操作する唯一の方法は を使用するDBCC CHECKIDENTことですが、これはシード値のみを変更でき、インクリメントは変更できません。

増分を変更する場合は、列を削除して、データベース初期化Seedメソッドで再度作成する必要があります。問題は、この列に関連するすべてのキー (PK または FK) を削除して作成する必要があることです。(これは SQL Server 2014 まで適用されます)

この回答を見て、考えられる解決策、代替案、回避策、機能するものと機能しないもの、およびこれを将来の EF リリースに含めるための投票へのリンクを説明します。

于 2014-06-05T13:29:10.153 に答える