Estoy perdido con la siguiente consulta, que es cacahuetes en T-SQL simple.Linq a entidades de muchos a muchos seleccionar consulta
Tenemos tres tablas físicas:
- Band (PK = Bandid)
- MusicStyle (PK = MuicStyleId)
- BandMusicStyle (PK = Bandid + MusicStyleId, FK = Bandid, MusicStyleId)
Ahora lo que estoy tratando de hacer es obtener una lista de MusicStyles que están vinculados a una banda que contiene una determinada cadena de búsqueda en su nombre. El nombre de la banda también debe estar en el resultado.
El T-SQL sería algo como esto:
SELECT b.Name, m.ID, m.Name, m.Description
FROM Band b
INNER JOIN BandMusicStyle bm on b.BandId = bm.BandId
INNER JOIN MusicStyle m on bm.MusicStyleId = m.MusicStyleId
WHERE b.Name like '%@searchstring%'
¿Cómo voy a escribir esto en LINQ a las entidades?
PS: StackOverflow no permite una búsqueda en la cadena 'de muchos a muchos' por alguna razón bizar ...
si necesita una combinación de la izquierda en lugar de una combinación interna, usted puede reemplazar 'de b en m.Band' con' de b en m.Band.DefaultIfEmpty() '. –
Simple, nítido y útil. Gracias hombre. – QMaster
@Peter, si usamos el método linq, ¿qué método debería usar para cubrir la sintaxis 'from .... from ....'? podrías dar el ejemplo en el método linq gracias – Willy