2011-08-10 5 views
1

내 엔터티 클래스에 Banana라는 속성이 있으면 EntityFramework는 구현할 수있는 OnBananaChanged()라는 부분 메서드를 생성합니다.Entity Framework 개체를 구체화 할 때 OnMyPropertyChanged가 호출됩니다.

이것은 불행히도 엔터티가 데이터베이스에서 처음 구체화 (즉, 구성 중임)되는 경우에도 호출 된 것으로 보입니다.

이 문제를 해결할 수있는 해킹 방법이 있습니까? 엔티티가 이미 생성 된 후에 속성이 변경 될 때만 특수한 동작을 실행하기를 원합니다.

답변

2

엔티티에 대한 사용자 지정 속성 또는 메서드를 표시하십시오. 이 메소드는 핸들러를 켜거나 끕니다. ObjectMaterialized 이벤트를 ObjectContext에 처리하고 엔티티의 메소드를 호출하십시오. 이 동작을 멈추는 방법은 없습니다.

+0

내 문제를 오해했을 수도 있습니다. 부동산 변경시기를 알고 싶습니다. 안타깝게도 OnMyPropertyChanged() 메서드는 객체가 구체화 될 때 호출됩니다. 속성이 변경되었다는 거짓 표시를 제공합니다. 실제로 그렇지 않았기 때문에 방금 구현되었습니다. – Fernando

+0

하지만 처음으로 속성을 설정하면이 경우 변경됩니다. 기본 값에서 데이터베이스로로드 된 값으로 변경되었으므로 개체가 구체화 된 후에 이벤트를 켜야합니다. –

+0

"이벤트 켜기"? 무슨 사건? OnMyPropertyChanged라는 부분 메소드 (예 : OnBananaChanged())가 구현되었습니다. Entity Framework에서 호출됩니다. – Fernando

관련 문제