603.964 temas | 4.846.856 mensajes | seremos forros, pero somos una bocha

Linq to SQL

En el foro de Programación

Viejo capitan-- dijo: 17.06.12
Tengo esta consulta que anda joya,

select * from Materia where Cursar_Cursada=0
and
idmateria NOT IN
(select IdMateria from UsuarioMateria where IdUsuario=11)
or Cursar_Cursada in
( select Materia.Codigo_Materia from UsuarioMateria join Materia on UsuarioMateria.IdMateria = Materia.IdMateria )



Ahora la paso a LINQ y se rompe ..

Código:
     from t in obj.Materias
                        where
                          t.Cursar_Cursada == 0 && 
                          !(from t0 in obj.UsuarioMaterias
                            where
                              t0.IdUsuario == 11
                            select new {
                              t0.IdMateria
                            }).Contains(new { t.IdMateria }) ||
                          
                            (from t0 in obj.UsuarioMaterias
                            join t1 in obj.Materias on t0.IdMateria equals t1.IdMateria
                            select new {
                              t1.Codigo_Materia
                            }).Contains(new { t.Cursar_Cursada })
                        select new {
                          t.IdMateria,
                          t.Nombre,
                          t.Cuatrimestre,
                          t.Contenido,
                          t.Cursar_Cursada,
                          t.Cursar_Aprobada,
                          t.Rendir_Aprobada,
                          t.Codigo_Materia}
Donde esta en azul me tira: The type arguments for method 'System.Linq.Enumerable.Contains<TSource>
(System.C ollections.Generic.IEnumerable<TSource>, TSource)' cannot be inferred from the usage. Try specifying the type arguments explicitly.


No se que corno hacer ya.. ayuda

0 Comentarios


Herramientas
Iniciar Sesion

Recordarme

Top de Usuarios