2014-12-01 2 views
0

응용 프로그램의 사용자는 개체 그래프를 추가, 삭제 및 수정할 수 있습니다.새로 첨부 된 RelatedEntityList를 쿼리하는 방법 커밋 전에 <T>을 호출하는 방법

나는 Cocktail의 UnitOfWork를 사용하여 변경된 엔터티를 수집하고 "BusinessProcess"를 시작하여 개체 그래프의 특정 항목을 확인합니다.

사용자가 Person.Department에 항목을 추가했는지 확인하고 싶습니다. Department는 Person의 RelatedEntityList입니다.

사용자가 Person.Department에 Department를 추가했으며 "Linq"를 사용하여 날씨를 확인하기 위해 "Department"라는 특수 부서가 있습니다.

내 Linq 쿼리는 다음과 같습니다.

var adminDepartement = person.Departement.Where (x => x.Name.Equals ("Administrator")). FirstOrDefault();

이 쿼리는 해당 departement가 이미있는 경우 훌륭하게 작동합니다. 하지만 사용자가 방금이 departement와 함께 departement를 추가하면 RelatedEntityList에서 null이 반환됩니다.

새로 추가 된 항목에 대해 Linq를 통해 검색하는 트릭이 있습니까?

아니면 EntityManager를 직접 사용해야합니까?

두 번째 저장시 Linq 쿼리는 adminDepartement를 올바르게 반환하지만 사용자가 저장하기 전에이 유효성 검사가 필요합니다.

답변

1

문제점을 찾았습니다. EntityId Person.Department에 대해 질의를했습니다. 엔티티가 생성되면 0이되고, 커밋이 완료되면 데이터베이스 수준에서 설정됩니다.

이제 Person.DepartementId를 사용하여 기존 항목을 쿼리합니다.