私はwebapiプロジェクトでefを使用しています。関数Aでは、1つのエンティティのプロパティAを変更します。関数BはプロパティBを変更します。同時に、私は唯一のプロパティが変更されていた、あなたは両方の方法で1つのコンテキストを使用する必要があります私はすべての成功確認のポストだが、どのように私はこれらの2EFは同時に1行を更新します
答えて
を変更することができます。 db.Entry(member).State = EntityState.Modified;
も使用しないでください。すべてのプロパティの更新ステートメントが生成されるためです。代わりにdb.Entry(member).Property("PropertyName").IsModified = true;
を使用してください。 context.Configuration.AutoDetectChangesEnabled == true
の場合、変更するコンテキストからデータを取得すると、それらを使用する必要はありません。
public void FunctionA(DbContext context, int openid)
{
var member = db.Members.Find(openid);
member.A=a;
db.Entry(member).Property("A").IsModified = true;
}
public void FunctionB(DbContext context, int openid)
{
var member = db.Members.Find(openid);
member.B=b;
db.Entry(member).Property("B").IsModified = true;
}
は次にように、1つのコンテキストのために、この方法の両方とSaveChanges
を呼び出します。
using (NielsenPMContext db = new NielsenPMContext())
{
FunctionA(db, openid);
FunctionB(db, openid);
db.SaveChanges();
}
注:エンティティフレームワークはローカルコンテキストからそれを取得するためは、二回Find
方法を使用して恐れてはいけません最初の時間の後にデータベースの代わりに。または、会員になり、FunctionA
とFunctionB
に送信することは素晴らしいでしょう。そして、私は、異なる方法でA
とB
のメンバーを変更する必要があると考えています。
Ty、私は 'db.Entry(member).Property( "PropertyName")をテストします。IsModified = true;' 、それは私のために働く、ありがとう! – Nico
@RuruXiang、あなたは歓迎です –
- 1. ASP.NETコア1 EF - 移行更新最新
- 2. EntityState.Modifiedは、EF CoreとEF 6の更新時に別々に動作します
- 3. EFコア同時実行が
- 4. sql triggerは更新時に更新を実行します
- 5. 実行時にEFモデルを変更して新しいエンティティを作成する
- 6. EF:複数のスレッドで同じDBテーブルの行を更新します。
- 7. EF 6コード1:ストアドプロシージャを更新するには?
- 8. レコードの更新と同時にバッチジョブを実行するには?
- 9. spark workers同時にMysqlテーブルの同じ行を更新する
- 10. EF 1〜0または1の関係が既存のテーブルでデータベース更新時にエラーになる
- 11. 更新値を同時に
- 12. C#EFコード更新時のカスケード
- 13. ASP.Net&EFコア2と同時実行トークンエラー
- 14. EFでレコードを更新し、別のテーブルで同時実行チェックを使用する
- 15. SQLはプライマリキーと外部キーを同時に更新します
- 16. jdbcとのスプリングセッションは同時にセッションテーブルを更新します
- 17. Oracle SQLの更新文では、行の更新は同時に行われますか?
- 18. 同時テーブル更新
- 19. 同時に新しいインスタンスを更新して作成する
- 20. 複数の行を同時に更新するSQLサーバー
- 21. MySQL/PHPで行を同時に挿入/更新する方法
- 22. オラクルは過去1時間でレコードを更新します
- 23. EF 6.0.0-alphaにアップデートした後にEF移行を使用してデータベースを更新できません
- 24. FirebaseRecyclerAdapterは更新時に行を点滅します
- 25. EF 4.1を使用した更新時の例外
- 26. mssqlで同時に削除と更新をします
- 27. ジョブの実行時にPlayフレームワークの行を更新します
- 28. 更新時にEF CTP5マッピングが失敗する
- 29. 同時に選択して更新しますか?
- 30. EF7またはEFコアで実行時にデータベーススキーマを変更する方法
あなたの関数Aと関数Bはどこですか?あなたもそれらを置くことができますか? – Sampath
@Sampath以下の答えは私が意味することですが、AとBは同じですが、エンティティの異なる小道具を変更します。私もそれを解決しました。 – Nico