Tengo un problema con la publicación de un blog duplicado cuando ejecuto la instrucción linq a continuación.NHibernate Linq - Duplicate Records
El problema es que una publicación de blog puede tener la misma etiqueta más de una vez y eso está causando el problema. Sé que cuando usa los criterios puede hacer el siguiente criterio: SetResultTransformer (nuevo DistinctRootEntityResultTransformer());
¿Cómo puedo hacer lo mismo con linq?
List<BlogPost> result = (from blogPost in _session.Linq<BlogPost>()
from tags in blogPost.Tags
where tags.Tag == tag && blogPost.IsPublished
&& blogPost.Slug != slugToExclude
orderby blogPost.DateCreated descending
select blogPost).Distinct()
.Skip(recordsToSkip).Take(pageSize).ToList();
Hm ... ¿El problema es que NH no traduce correctamente la expresión .Distinct()? Parece un error en el traductor –
No es un error porque el DateCreated sería único para cada fila. Le sugiero que use un equivalente de MAX (DateCreated); de lo contrario, podría necesitar particionar o refactorizar de alguna otra manera para realizar un filtro primario. – CarneyCode