2016-10-31 6 views
0

私はEntity Frameworkを使用しており、クエリ結果の拡張を作成する一般的な方法があるのだろうかと思っていました。Entity Frameworkの拡張の結果

public static Student GetStudent(selector) 
    { 
     return _context.Student.Where(selector).FirstOrDefault(); 
    } 
... 
    public void DoSomeWork() 
    { 
    var student=GetStudent(x=>x.id=123); 
    student.name="Tom"; 
    student.Save(); // <---- is there a way to create such an extension. 
         //Not for Student Entity only but for all entities. 
    } 

ありがとう:

は、例えば、私は方法があります。

+1

'_context.SaveChanges()'の何が問題なのですか? –

+0

このような保存を行う方法がある場合は、ちょうど興味があります。すべてのエンティティクラスに対してSaveChanges()メソッドを作成することなく – Rnts

答えて

0
public static Student GetStudent(Func<Student,bool> selector) 
    { 
     return _context.Student.Where(selector).FirstOrDefault(); 
    } 
... 
    public void DoSomeWork() 
    { 
    var student=GetStudent(x=>x.id==123); 
    student.name="Tom"; 
    student.Save(); // <---- is there a way to create such an extension. 
         //Not for Student Entity only but for all entities. 
    } 
0

EFリポジトリには、EF結果クラスを生成するための.ttファイルが必要です。そのファイルを変更して、EF Generatedのすべてのタイプが(選択した)インターフェースを実装するようにして、選択したインターフェースの拡張メソッドを書くことができます。

関連する問題