.ToFuture <>() 확장 메소드를 호출하여 NHibernate 질의에 대한 Linq를 미래로 실행할 수 있다는 것을 알고 있습니다. 그러나 매핑 된 엔티티를로드하는 것이 아니라 데이터를 DTO에 직접로드합니다.Linq to NHibernate + transformations + future
var results = (from e in session.Query<Entity>()
where e.Reference.Id == someId
orderby e.Name
select new Dto
{
Id = e.Id,
Name = e.Name,
// ...
}).ToFuture<Dto>();
내가 원하는대로이 작동하지 않습니다 (나는 이을 기대 말을 감히) : 그래서 당신이 뭔가를 얻을. 이제 오류가 발생합니다. The value "System.Object[]" is not of type "Entity" and cannot be used in this generic collection.
.ToFuture()
이 제거되었지만 쿼리가 일괄 처리되지 않습니다.
QueryOver API를 사용하여이 작업을 수행 할 수 있다는 것을 알고 있습니다. Linq가 NH에 더 좋음을 좋아합니다. 코드가 훨씬 깔끔하기 때문입니다.
아마도 그 때입니다. NHibernate 3.0 (일반적인 라이브러리 제한 : --(아마 여기에 문제가 있습니다.) 쉽게 3.2 테스트 할 수 없습니다. 다음 QueryOver 전환 할 것입니다 ... – Koen