Linq到NHibernate中ANY和OR查询的问题

时间:2009-06-13 13:09:42

标签: c# linq nhibernate

我在使用Linq到NHibernate的一些查询时遇到了一些问题。这些查询对我来说在SQL中很简单,但出于某种原因我遇到了Linq的问题

例如,如果我想找到所有具有任何附加标签列表的实体(我已大大简化了此消息的代码):

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功能,但这是我想要实现的,但我不知道最好的方法。

我们非常感谢任何指导,您可以指出我从用户输入建立查询的任何其他信息也会很棒。

提前致谢。

1 个答案:

答案 0 :(得分:0)

contrib中的当前NHibernate.Linq项目并没有真正向前发展。 Strong先生刚刚在NHibernate主干中完成了AST解析器的修复,并将在几周内开始在全新的LINQ提供商上工作(他说他正在等待re-linq项目,以便首先推出一些急需的补充)。