문제

나는 Where 절로 객체를 저장하는 방법을 모른다. 다른 날짜와 겹치는 날짜 범위의 객체를 저장하는 것을 방지하기 위해 필요합니다.

public class TaskEvent
{
    public DateTime StartDate {get;set;}
    public DateTime EndDate {get;set;}
}

저장 작업 내에서 기준이 겹치는 것을 확인하고 싶지만 방법을 모르겠습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

임시 업데이트 쿼리에 HQL을 사용할 수 있습니다

session.CreateQuery("UPDATE TaskEvent SET ... WHERE ID = :ID and ...")
.SetInt32("ID", ID)
//.SetDateTime("", )
//.SetDateTime("", )
.ExecuteUpdate();

또는보다 nhibernate 종류의 방식으로해야 할 일 ... 필요한 taskevents (위치 조항)를 가져오고 속성을 업데이트하고 거래를 커밋하십시오.

다른 팁

객체가 저장 해야하는 코드를 파악한 다음 저장해야합니다. 이것은 비즈니스 논리이며 지속성 운영으로 밀려서는 안됩니다. IMO, NH가 그것을지지 할 수 있더라도.

한 가지 접근법은 코드로 저장하고 싶지 않은 태스 키벤트 물체를 재심하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top