2009-06-13 7 views
1

J'ai quelques problèmes avec quelques requêtes utilisant Linq pour NHibernate. Ces requêtes sont assez simples pour moi à faire en SQL mais pour une raison quelconque j'ai des problèmes avec LinqProblèmes avec les requêtes ANY et OR dans Linq to NHibernate

Par exemple si je veux trouver toutes les entités qui ont une liste de balises attachées comme ça (j'ai grandement simplifié le code de ce message):

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(); 

Je sais qu'il n'y a pas de fonction IsAnyOf mais ce que je veux réaliser, mais je ne sais pas la meilleure approche.

Toute orientation serait très appréciée, toute autre information que vous pouvez me montrer pour construire des requêtes à partir de l'entrée de l'utilisateur serait également très bien.

Merci d'avance.

Répondre

0

Le projet NHibernate.Linq actuel dans contrib ne va pas vraiment aller de l'avant. M. Strong vient de terminer la réparation de l'analyseur AST dans NHibernate trunk et commencera à travailler sur le tout nouveau fournisseur LINQ dans quelques semaines (il a déclaré qu'il attendait le projet de re-linq pour aller de l'avant avec quelques ajouts nécessaires).

Questions connexes