Come posso eseguire una query di relazione molti-a-molti utilizzando il codice Entity Framework prima e linq? Il problema è che EF crea automaticamente la tabella delle relazioni. Quindi, non ce l'ho nel mio contesto.Interroga una relazione molti-a-molti con linq/Entity Framework. CodeFirst
Questo è il modello relazionale:
ho bisogno di un elenco di articoli per un category_id specifica, in fondo replicare qualcosa di simile:
select a.Id, a.Title,a.ShortDescription
from Articles a
join CategoryArticles ca on ca.Article_Id=a.Id
where ca.Category_Id = @parameter
Tuttavia il mio DbContext hanno solo:
public DbSet<Article> Articles { get; set; }
public DbSet<Category> Categories { get; set; }.
Grazie per qualsiasi Aiuto.
Grazie much.It ha funzionato perfettamente. –
Questo non è corretto, EF non è abbastanza intelligente da usare i join. Creerà invece una dichiarazione EXISTS. Le prestazioni possono essere un problema qui. – Talon
@Talon, ora ho verificato quella query ed è vero che il provider di Linq EF 6.x sta generando un 'Exists' invece di un' join'. Grazie per il feedback. Sono d'accordo con te sulle prestazioni, ma se ometti la tabella di giunzione come parte del tuo modello, questo è l'unico modo per farlo. – octavioccl