私は、自動生成されたID列を持つデータベーステーブルにエンティティをマップしました。
新しいエンティティを作成してSaveChanges()
を呼び出した後、EFは挿入クエリを実行し、新しく挿入されたレコードの新しいID値も取得します。エンティティフレームワーク(3.5)を挿入すると、挿入後にID値の選択をスキップする方法はありますか?
時々、私は新しい値が何であるか気にしません(たとえば、新しいログレコードを挿入し、追加されたID値を気にしません)。
EFにこの値を問い合せない方法はありますか?
おかげで、
イタイ
+1また、これは良い考えではないかもしれません。エンティティメモリモデルがDBモデルと一貫していないことを意味します(エンティティが挿入されるとすぐに破棄することを約束しても) – StuartLC
ありがとうございますが、あなたが言ったように、それはおそらく挿入中に例外をスローします。これまでのところ、覚えている唯一の解決策は、ストアドプロシージャまたはカスタムSQLコマンドを使用することです。 –
@Itay:それはなぜあなたにとって大きな問題になるのですか? ID値はInsertコマンドと同じコマンドバッチで選択されるため、ここでのパフォーマンスの低下は小さくなります。 EFの機能が非常に悪いです(コマンドのバッチ処理の不足など)。 –