2011-03-23 4 views
0

나는이 두 엔티티가있는 도메인 모델을 가지고 있습니다 :트리거와 모델 업데이트

부품 및 계약.

계약에는 여러 부분이 있으며 한 부분은 많은 계약에 속할 수 있습니다.

class Contract 
{ 
    ICollection<Part> Parts{get;set;} 
    DateTime LastModifiedDate{get;set;} 
} 

class Part 
{ 
    ICollection<Contract> Parts{get;set;} 
} 

계약의 일부가 변경 될 때마다, 계약의는 lastmodifieddate은 변화가 발생하는 날짜를 반영한다 :

나는 이런 식으로 나타냅니다.

어떤 방법으로 이것을 처리 할 수 ​​있습니까? :

1 - 특수 데이터베이스

등의 모델을 사용

2 - 또는 (이 수정 내 응용 프로그램을 통해 할 필요없이 부품을 만들어 수정을 잡을 날 수 있습니다)을 트리거 섹션 레벨에서 변경이있을 때마다 수동으로 계약의 LastModifiedDate를 변경합니까?

3 - 거기에 일을하는 두 가지 방법을 모두 사용할 수있는 세 번째 방법이 있습니까?

4 - 내가 놓친 것이 있습니까?

N.B : DB 계층에 Entity Framework CTP4를 사용하고 있습니다.

답변

2

나는 NHibernate를 엔티티 프레임 워크보다 훨씬 잘 알고있다. 그러나 이것을하기위한 일반적인 방법은 이벤트 처리이다 : 객체가 저장되기 전에 실행하기 위해 델리게이트를 등록하고이 델리게이트를 사용하여 메타 데이터를 업데이트한다.

이러한 메타 데이터가있는 여러 클래스로 끝나면 IHasUpdatedDate이라는 인터페이스를 만들 수 있습니다. 내 프로젝트에서 모든 엔티티에는 WhenUpdated & WhenCreated 필드가 있습니다.

http://msdn.microsoft.com/en-us/library/cc716714.aspx

+0

이 실제로 EF에서 사용할 수있는 두 가지 이벤트의 하나이지만, 솔루션뿐만 아니라 EF 작동합니다

은 이벤트 처리를 지원하지 않습니다 엔티티 프레임 워크처럼 보인다. –

관련 문제