왜이 쿼리가 작동하지 않을지라도 항상 빈 목록을 반환합니다 (매핑은 정상이며 데이터베이스에 데이터가있는 것은 확실합니다). 어떤 아이디어입니까? 이 Nhibernate 쿼리가 빈 목록을 반환하는 이유는 무엇입니까?
List<User> users = _session.CreateQuery("FROM User ORDER BY CreatedOn").List<User>().Where(u => ids.Contains(u.Id));
var posts = new List<Post>();
foreach(User user in users) {
posts.AddRange(user.Posts);
}
내가 그 당신의 사용자가 이미 게시물 모음을 가지고에 달려 생각하지만, 대부분의 절전 모드 구현은 거기에 그런 일이 있어야합니다
var ids = //IList<int> of ids
var result = _session.CreateCriteria(typeof (User))
.Add(Restrictions.InG("Id", ids))
.CreateCriteria("Posts")
.AddOrder(Order.Asc("CreatedOn"))
.SetMaxResults(20)
.List<Post>();
사용자 유형을 묻는 다음 게시물 목록 반환과 함께 쿼리를 끝냅니다. 그렇지 않으면 나는 잘 모르겠다. 나는 대개 이러한 유형의 데이터 액세스 방법에 대해 CreateCriteria 구문을 사용하지 않습니다. – mikeschuld
@mikeschuld : 게시물 목록을 요청할 수 있도록 .CreateCriteria ("게시물")을 가지고 있습니다. –