I got the following class public class Documento { public Soggetto Emittente { get; set; } public Soggetto Destinatario { get; set; } public IEnumerable<RigaDocumento> Righe { get } ... } public class Soggetto{ string Denominazione ... }
And i need to find all the RigaDocumento of a Documento where all the Subject (Emittente && Destinatario) is in like a list of string exemple: (Documento.Emittente.Denominazione like %+"Name1"+% or Documento.Emittente.Denominazione like %+"Name2"+% ) or Documento.Destinatario.Denominazione like '%+"Name1"+% or Documento.Destinatario.Denominazione like '%+"Name1"+% ) i have tryed with -->exp.Soggetti is my list of string
(TypeFinderHelper.GetPathSafe return the full path of the type ex: TypeFinderHelper.GetPathSafe<Documento>(x => x.Emittente) return "Documento.Emittente") \\\ var c = Session.CreateCriteria<RigaDocumento>(); var DocCrit = c.CreateCriteria(TypeFinderHelper.GetPathSafe<RigaDocumento>(x => x.Documento), typeof(Documento).Name);
var sogDisj = Restrictions.Disjunction(); var emiCrit = DocCrit.CreateCriteria(TypeFinderHelper.GetPathSafe<Documento>(x => x.Emittente)); var desCrit = DocCrit.CreateCriteria(TypeFinderHelper.GetPathSafe<Documento>(x => x.Destinatario)); foreach (var sog in exp.Soggetti) { sogDisj.Add(Restrictions.InsensitiveLike(TypeFinderHelper.GetPathSafe<Soggetto>(x => x.Denominazione), sog.Denominazione)); } emiCrit.Add(sogDisj); desCrit.Add(sogDisj); return c.List<RigaDocumento>() \\\
the expression result in ( Documento.Destinatario.Denominazione like "s0" or Documento.Destinatario.Denominazione like "s1") AND ( Documento.Emittente.Denominazione like "s0" or Documento.Emittente.Denominazione like "s1" )
Help pls!
|