12

事前定義された主キー値を持つレコードをデータベースに作成しようとしています。私はSQLでこれを行う方法を知っていますが、EFが私のためにこれを行うことができるかどうか疑問に思っていましたか?それ以外の場合は、挿入用のストアドプロシージャを作成する必要があります。

4

1 に答える 1

12

StoreGeneratedPatternエンティティの属性を「なし」に設定している場合、指定したエンティティキーの値がデータベースに渡されます。

この属性が「Identity」または「Computed」に設定されている場合、DBのこの列に設定される値を制御する方法はありません。

したがって、データベースに自動インクリメントされた列があり、ADO.NETエンティティデータモデルウィザードで設定されている場合は、XMLエディターを使用して、モデルのSSDL部分でStoreGeneratedPatternこの属性を手動で「なし」に変更できます。次に、を有効にし IDENTITY_INSERTます。

ObjectContext.ExecuteStoreCommandEF4を使用している場合はこのメソッドを使用するか、ObjectContext.Connection.StoreConnectionプロパティを使用してSQLコマンドを実行できますSET IDENTITY_INSERT <Your_Table> ON(EF1とEF v4の両方)。

于 2010-07-26T08:03:30.223 に答える