2009-06-13 3 views
1

NHibernate에 Linq를 사용하는 몇 가지 쿼리에 몇 가지 문제가 있습니다. 이 쿼리는 SQL에서 매우 간단합니다. 그러나 Linq에 문제가 있습니다.Linq에있는 NHibernate에 대한 OR 쿼리의 문제점

예를 들어이 태그를 붙인 모든 엔티티를 찾으려면 (필자는 크게 단순화했습니다. 이 메시지에 대한 코드) : 내가 아는

public class Asset 
{ 
    public string name {get;set;} 
    public IList<Tag> Tags {get;set;} 
} 

class Tag 
{ 
    public string Name {get;set;} 
} 


var tagstrings = stringofchosentags.Split(',').ToList(); 

var actualtags = repository.GetAll<Tag>().Where(x => x.Name.IsAnyOf(tagstrings)).ToList(); 

var results = repository.GetAll<Asset>().Where(x => x.Tags. IsAnyOf(actualtags)).ToList(); 

이 더 IsAnyOf 기능이 없지만 이것이 내가 달성하고자하는 것입니다,하지만 가장 좋은 방법을 모른다.

모든 안내가 도움이 될 것입니다. 사용자 입력에서 검색어를 작성하는 데 도움이 될 수있는 다른 정보도 좋습니다.

미리 감사드립니다.

답변

0

contrib의 현재 NHibernate.Linq 프로젝트가 실제로 앞으로 나아갈 것 같지 않습니다. Mr. Strong은 방금 NHibernate 트렁크에서 AST 파서를 수정하는 작업을 마쳤으며 몇 주 만에 새로운 LINQ 공급자에 대한 작업을 시작할 것입니다 (그는 re-linq 프로젝트를 기다리고 있다고 말했습니다.).