2016-05-20 26 views
3

MVCとEntity Frameworkを使用した電子商取引ベースのWebアプリケーションで作業しています。 更新されたエンティティを追跡/知りたいだけです。たとえば、ユーザーが商品の在庫と価格を変更してSaveボタンをクリックすると、これら2つのエンティティがProductIdで更新されたことを確認したいと思います。Entity Frameworkで更新されるエンティティを追跡する方法

これを達成する方法はありますか?

ありがとうございました。それは同じhttpリクエストに存在しない場合は、rowversionを使用することができ、この

//let 'myObj' is entity instance 
//let db is your context instance 
if (db.Entry(myObj).State == System.Data.EntityState.Modified) 
{ 
//Try your code here 
} 
+0

https://www.nuget.org/packages/Z.EntityFramework.Plus.EF6/はあなたがこれらの更新をログに記録したいわけですか? –

+0

はい、それは – Ankita

+0

と言うことができます。次に、Entity Framework +監査の多くの例をご覧ください。 –

答えて

-1
+0

あなたはmyObjとは何ですか?例えば私はStudentモデルを持っているので、このモデルクラスのオブジェクトを設定する必要がありますか? – Ankita

+0

私はEF 6を使用していますので、System.Data.Entity.EntityState.Modifiedを記述する必要があります – Ankita

+0

あなたの製品がmyObj –

1

免責事項:私はこのプロジェクトは、何が変更されたすべてのものを追跡/監査することができますEntity Framework Plus

プロジェクトの所有者です。変更されたエンティティにのみアクセスしたい場合は、多くのオプションがあります。

// using Z.EntityFramework.Plus; // Don't forget to include this. 

var ctx = new EntityContext(); 
// ... ctx changes ... 

var audit = new Audit(); 
audit.CreatedBy = "ZZZ Projects"; // Optional 
ctx.SaveChanges(audit); 

// Access to all auditing information 
var entries = audit.Entries; 
foreach(var entry in entries) 
{ 
    foreach(var property in entry.Properties) 
    { 
    } 
} 

ドキュメント:EF+ Audit

NuGet:

+0

:Z.EntityFramework.Plus。私たちは以下のもののみを見つけました:https://github.com/zzzprojects/EntityFramework-Plus/wiki/Downloads – Ankita

+0

@Ankita、私はあなたの質問を理解することはできません。使用しているEFと、すべての機能を必要とする場合、または1つだけを使用する場合は、NuGet(適切なリンクは良い)から適切なバージョンをダウンロードする必要があります。次に、ライブラリの使用を開始できます。 "Z.EntityFramework.Plus"は、すべてのクラスが見つかる名前空間だけです。 –

+0

しかし、私はZ.EntityFramework.Plus用のNuGetパッケージを見つけることができません。私はそのリンクに記載されているパッケージを見つけました。だから私はこのNuGetパッケージを見つけることができます – Ankita

関連する問題