ho i seguenti 3 tabelle come parte di un semplice "voce di codifica" schema:versione di SQL LINQ "IN" dichiarazione
Articoli == ==
- ItemId int
- Marca varchar
- Nome varchar
- Prezzo soldi
- Condizione varchar
- Descr iption varchar
- po attivo
== == Tag
- TagID int
- Nome varchar
- po attivo
== == TagMap
- TagMapId int
- TagID int (FK)
- ItemId int (FK)
- po attivo
Voglio scrivere una query LINQ per portare indietro Articoli che corrispondono a un elenco di tag (ad esempio TagId = 2,3,4,7). Nel mio contesto applicativo, esempi di elementi sarebbero "Computer Monitor", "Dress Shirt", "Guitar", ecc. Ed esempi di tag sarebbero "elettronica", "abbigliamento", ecc. Normalmente lo farei con un SQL IN Dichiarazione.
Perché l'interno join non è preferito qui? Sai se Context.TagMaps contiene 10 record, itererà 36 volte in background, indipendentemente dal fatto che ci sia o meno una corrispondenza. – Pankaj
È possibile trovare [query SQL in LINQ] (http://www.codeducky.org/sql-queries-in-linq/#where-in) utili. È un elenco di query SQL comuni rappresentate in LINQ. –