2011-10-21 10 views
0

私はPOCOモードでEF 4.1を使用しています。LINQ2SQLからLINQへのエンティティへの移動

LINQ2SQLは、エンティティの挿入/更新/削除時に呼び出されるdataacontextの部分的なメソッドを生成します。彼らのような場合のために役立ちます:

partial void InsertCampaign(Campaign instance) 
    { 
     instance.CreatedAtUTC = instance.ModifiedAtUTC = DateTime.UtcNow; 

     ExecuteDynamicInsert(instance); 
    } 

    partial void UpdateCampaign(Campaign instance) 
    { 
     instance.ModifiedAtUTC = DateTime.UtcNow; 

     ExecuteDynamicUpdate(instance); 
    } 

だから、私の質問です - あなたが操作を実行できるように、EFで、どのようにあなたが上記のような実体の挿入/更新/削除にフックしますか?エンティティを作成/更新するたびに手動でこれを行う必要はありません。

は、あなたのDbContextで

+0

? EFがあなたのDbContextを生成する方法を尋ねていますか? –

+0

@Marc L - 私はdb-firstを使用しています。私は既にPOCOクラスを生成しており、既にいくつかのEFプロジェクトを行っています。 LINQ2SQLで簡単に行うことができるように、挿入/更新時に自動的に値を適用する方法を学んだことはありません。ありがとう... – blech

答えて

1

オーバーライドのSaveChanges()メソッドを感謝し、ような何かを:

あなたは、コード - 、モデル - またはDB-最初に使用している4.1のどんな "味"
public override int SaveChanges() 
    { 
     var modified = this.ChangeTracker.Entries().Where(e => e.State == System.Data.EntityState.Modified); 
     // set whatever values you want on modified entities 
     return base.SaveChanges(); 
    } 
関連する問題