/ / LINQ unisce 2 liste - sql, .net, linq

LINQ unisce 2 elenchi: sql, .net, linq

Voglio selezionare i miei prodotti per quanto riguarda i loro tag. Passo un elenco di tag al metodo. Ogni prodotto può avere uno o più tag, ogni tag può essere applicato a uno o più prodotti.

Non riesco a tradurre in LINQ, ma in SQL la query sarebbe:

SELECT *
FROM products, tagproducts, tags
where products.productId = tagproducts.Product_productId
and tagproducts.Tag_tagId = tags.tagId
and tags.tagId IN (1,2);

Suppongo di dover usare join, ma non riesco a trovare il modo di ottenere quello che voglio. Qualche idea?

risposte:

0 per risposta № 1
var tagIDs = new List<int> { 1, 2 };
var products = Products.Where(x => x.TagProducts.Any(y => tagIDs.Contains(y.TagID )));
//to get info from the products, . into them
var tagNames = products.TagProducts.Select(x => x.Tags.TagName); //or whatever.