J'essaye de trouver comment créer une requête en utilisant Linq to NHibernate.NHibernate: HasMany components et Where/Contains clause
J'ai deux classes comme celle-ci:
public class Foo
{
private ISet<Bar> _bars = new HashedSet<Bar>();
public virtual ISet<Bar> Bars
{
get { return _bars; }
set { _bars = value; }
}
}
public class Bar
{
public string Name { get; set; }
public string Color { get; set; }
}
collection Bar de Foo est mappée comme un à plusieurs collecte de composants.
Maintenant, je veux exécuter une requête qui devrait ressembler à ceci:
var myBar = new Bar { Name = "test", Color = "testColor" };
var matchingFoos = Session.Linq<Foo>
.Where(foo => foo.Bars.Contains(myBar),
new BarEqualityComparer())
.ToList();
Je ne sais pas si cela est correct, mais chaque fois que je lance cette requête je reçois un NullReferenceException à l'intérieur d'une méthode appelée NHibernate .Linq.Visitors.WhereArgumentsVisitor.GetCollectionContenuCriteria méthode.
Quelqu'un pourrait-il m'aider avec un autre moyen d'exécuter cette requête?
Je pense que Linq to NHibernate n'est pas capable de traiter une telle requête. C'est une implémentation ** très ** minimale. –