2009-11-02 6 views
2

J'utilise LINQ to NHibernate avec la requête suivante:LINQ to NHibernate - Avoir où les problèmes de clause

ISession session = GetSession(); 
    var query = from storeZoneStyles in session.Linq<StoreZoneStyle>() 
    from storeZones in session.Linq<StoreZone>() 
     where storeZoneStyles.StoreZoneId == storeZones.StoreZoneId && storeZones.StoreCode == storeCode 
    select storeZoneStyles; 

Avec cette requête, je veux seulement obtenir tous storeZoneStyles qui appartiennent à un code de magasin. Maintenant, lorsque j'exécute ceci, j'obtiens l'exception d'exécution suivante:

Impossible de convertir un objet de type 'System.Linq.Expressions.ConstantExpression' pour taper 'System.Linq.Expressions.LambdaExpression'.

Quelqu'un peut-il m'aider s'il vous plaît?

Répondre

1

je devais utiliser cette requête à la place, car jointures ne sont pas pris en charge dans L2N

var query = from storeZoneStyles in session.Linq<StoreZoneStyle>() 
         where storeZoneStyles.Zone.StoreCode == storeCode 
         select storeZoneStyles; 
+0

C'est un peu d'informations! –

+0

Êtes-vous sûr que les jointures ne sont pas supportées? Je pensais que seul le groupe se joint. – UpTheCreek