2016-10-31 3 views
0

Entity Framework를 사용하여 쿼리 결과에 대한 확장을 만드는 일반적인 방법이 있는지 궁금합니다.Entity Framework 용 Extension 결과

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 생성 유형이 원하는 인터페이스를 구현하면 선택한 인터페이스에 대한 확장 메소드를 작성할 수 있습니다.

관련 문제