LINQ entiende los no equijoins

Uso asp.net 4, ef 4 y c #, LINQ y Non-Equijoins.

A continuación, escribí dos ejemplos de no equijoins. Ambos funcionan bien en mi modelo.

Porque soy bastante nuevo en Linq, me gustaría preguntarte:

¿Qué tipología de sintaxis me recomendaría adoptar en mi código? ¿Qué rendimiento del código es más rápido?

Gracias por tu ayuda

Aquí algunos enlaces útiles:

http: //msdn.microsoft.com/en-us/library/bb882533.asp

http: //msdn.microsoft.com/en-us/library/bb311040.asp

http: //msdn.microsoft.com/en-us/library/bb310804.asp

// Query sintax
var queryContents = 
    from cnt in context.CmsContents
    let cntA =
        from a in context.CmsContentsAssignedToes
        select a.CmsContent.ContentId
    where cntA.Contains(cnt.ContentId) == false
    select cnt;

// Query method   
var queryContents02 =
    from c in context.CmsContents
    where !(
        from a in context.CmsContentsAssignedToes 
        select a.ContentId).Contains(c.ContentId)
    select c;

Respuestas a la pregunta(2)

Su respuesta a la pregunta