을 가져올 때 나는 다음 클래스를이로드되지NHibernate에 집계 목록
public class Room
{
public virtual Guid Id { get; set }
public virtual string Name { get; set }
public virtual Guid LocId { get; set }
public virtual Location Loc { get; set; }
}
내가 트랜잭션을 시작하고 새로운 엔티티에 대한 Session.Save를 호출하고 올바르게 데이터베이스에 기록하지만, 나는 즉시 (GetList를 호출하는 경우) 새로운 엔터티를 제외한 모든 엔터티에 Loc 속성이 할당 된 목록이 반환되지만 Save를 호출하기 전에 Loc을 설정하면이 엔터티가 새 엔터티에 할당됩니다. Flush()는 문제를 해결하지 못합니다. 나는 무엇을 놓치고, 나는 그것을 세울 위치를 얻지 않기를 원할 것이다.
LocId와 위치를 모두 매핑하는 이유는 무엇입니까? – Vadim
위치가 원래지도의 일부가 아닙니다. GetList가 호출 될 때 해당 정보가 반환되도록 추가했습니다. 나는 현재 모든 사용법을 대체 할 시간이 없으므로 LocId를 제거하지 않았습니다. – Thad
지정하지 않은 경우 위치를 참조하도록 위치를 설정하는 것은 정확히 무엇입니까? 데이터베이스에서 흑 마술은 무엇입니까? 수동으로 LocId를 설정합니까? 그리고 그것은 데이터베이스의 동일한 열에 매핑됩니까? 이 엔터티에 대한 매핑 파일을 게시하십시오. – jishi