2011-11-20 4 views
0

저는 EF 4 직원을 배우고 있으며 실제로 쌓여 있습니다. 나는 Code First 접근법을 사용하고있다.EF Poco 클래스 확장

public class Machine{ 
public int A{get;set;} 
... 
} 

나는 프로퍼티 (예. B = A + 5)에 따라 추가 속성에 비즈니스 로직을 구현하고 WPF의 데이터 그리드를 발표하는 것을 시도하고있다. 이 새 속성을 데이터베이스에 저장하지 않아도됩니다. 어떻게해야합니까 (예 : 부분 수업)? 어떤예요?

답변

3
public class Machine 
{ 
    public int A { get; set; } 

    [NotMapped] 
    public int B 
    { 
     get 
     { 
      return A + 5; 
     } 
    } 
} 

이렇게하면됩니다.

+0

멋지 겠지만 어떻게 공용 int에서 발생하는 INotifyPropertyChanged를 구현할 수 있습니까? { get {return a; } 세트 { = 값; this.NotifyPropertyChanged ("A"); this.NotifyPropertyChanged ("C"); } } – Jim

+0

예, A의 설정자에서 OnPropertyChanged ("B")를 설정해야합니다. 그렇지 않으면 UI가 B를 다시 계산하지 않기 때문입니다. – LueTm

1

EF 4.1을 사용하는 경우 not mapped attribute을 사용할 수 있습니다. edmx 디자이너를 사용하는 경우 모델 뷰어 테이블 매핑에서 할당 한 열 이름을 제거 할 수 있습니다.

+0

데이터베이스에 매핑 한 후 스칼라 속성을 추가하려고합니다. 그런 다음 에로가 발생했습니다. 지정된 바인딩 제약 조건과 일치하는 'WpfApplication4.MainWindow'유형의 생성자를 호출하면 예외가 발생했습니다. ' 줄 번호 '3'과 줄 위치 '9 – Jim

+0

은 inotify를 구현하는 엔티티 클래스입니까? –

관련 문제