J'ai un petit problème dans ma clause where dans l'expression linq ci-dessous. Si je mets le numéro 3 au lieu de department.Id j'obtiens le résultat désiré mais quand j'utilise department.Id je n'obtiens rien dans le resultset.Linq To Entities
Je veux également obtenir un compte pour le nombre de filtres pour ce nom de filtre en utilisant à nouveau la requête en utilisant distinct.
var dept = Page.RouteData.Values["department"];
var department = (from d in db.Departments
where d.Name.Replace(" ", "-") == dept
select new {d.Id, d.Name}).FirstOrDefault();
var query = from p in db.Products
join f in db.ProductFilters on p.Id equals f.ProductId into filters
from x in filters.Where(x => x.Product.DepartmentId == department.Id
/* if == 3 it works */)
select new { x.Name, x.Id };
Avez-vous vérifié que l'instance de département est telle que vous pensez qu'elle devrait l'être après la première instruction linq - c'est-à-dire qu'elle a un 'Id == 3'? –
Je me sens plutôt bête maintenant. J'utilisais le mauvais département dans l'URL RouteData. ça fonctionne maintenant. Mais maintenant, cela fonctionne et vous savez comment je peux obtenir un compte pour mes filtres dans les groupes, par exemple sous le nom de marques serait une marque et qui aurait des filtres avec un nombre de marques dans ce filtre – ONYX