2011-10-01 2 views
0

계산을 기반으로 속성을 추가하여 엔터티를 확장하는 방법을 찾으려고합니다. 아래 예제에서 나는 현재 초 수를 속성으로하는 MyProperty 속성을 생성했습니다 (예를 들어). 그러나 "ReportPropertyChanged"를 트리거하여 envent 알림을 발생 시키려고하면 오류가 발생합니다. 컴파일 및 모든,하지만 난 "날짜"를 변경할 때 런타임 오류가엔터티 확장, ReportPropertyChanged 오류

public partial class MyEntity 
{ 
    public double MyCustomizedProperty { get; set; } 

    public MyEntity() 
    { 
     this.PropertyChanged += Entity_PropertyChanged; 
    } 

    void Entity_PropertyChanged(object sender, PropertyChangedEventArgs e) 
    { 
     switch (e.PropertyName) 
     { 
      case "Date": 
       MyCustomizedProperty = DateTime.Now.Second; 
       ReportPropertyChanged("MyCustomizedProperty"); 
       break; 
     } 
    } 
} 

는 :

속성 'MyCustomizedProperty'엔티티 객체에 유효한 엔티티 매핑이 없습니다. 자세한 내용은 Entity Framework 설명서를 참조하십시오.

이는 OnStateManager에 속성이 없다고 생각됩니다. 그 문제를 해결하는 방법을 알려주시겠습니까?

감사

+0

이름으로 전화

public event PropertyChangedEventHandler NewPropertyChanged; private void NotifyPropertyChanged(String propertyName) { PropertyChangedEventHandler handler = NewPropertyChanged; if (null != handler) { handler(this, new PropertyChangedEventArgs(propertyName)); } } 

그리고 당신의 속성 변화 :

시도는 부분 클래스에서 이것을 사용하는 : //stackoverflow.com/a/29696057/1059716 – Satria

답변

0

당신은 INotifyPropertyChanged 인터페이스를 구현하고 속성 변경을보고하는 이벤트의 사용을 시도 할 수 있습니다. HTTP : 속성 내가 여기 같은 문제에 대한 답변을 게시

NotifyPropertyChanged("YourPropertiesName"); 
+0

이것은 엔티티에서 파생 된 엔티티 클래스의 부분 확장입니다. 이미 적절한 인터페이스를 가지고 있지 않습니까? 그냥 다른 데이터 속성을 확인하는 데 아무런 문제가 없습니다. 인터페이스를 추가했지만 여전히 동일한 문제가 있습니다. – daW0lverine

+0

예 Entity 클래스에 적절한 인터페이스가 있어야합니다. 나는 당신이 부분 수업을 가지고 있다는 것을 알아 채지 못했습니다. 그런 다음 Entity ReportPropertyChanged 메서드를 사용하지 않고 PropertyChanged 이벤트를 수동으로 트리거해야합니다. – BigL

+0

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 그런데 내가 뭔가를 놓치고 있거나 그렇게 복잡해 보이지 않는가? – daW0lverine

관련 문제