none
Utilizar Find o Equivalente en un Include Linq RRS feed

  • Pregunta

  • hola 

    Tengo la siguiente consulta donde me trae tanto Curso como Estudiante (RELACION DE MUCHOS A MUCHOS)y una Intermedia tabla CursoEstudiante puedo realizar un query codigo y nombre de Cursos como de Estudiante asi:

    var cursoEstudiante = db.CursoEstudiante .Include(m => m.Curso).Include(m => m.Estudiante);


    Y necesito hacer un Find del id de la Tabla CursoEstudiante... 

    var cursoEstudiante = db.CursoEstudiante .Include(m => m.Curso).Include(m => m.Estudiante).Find(id);

    que como se realizaria este query?

    espero me entienda... x}


    jueves, 20 de junio de 2019 2:19

Respuestas

  • O también puedes hacer la búsqueda con una expresión (Hay varios métodos, First, FirstOrDefault, Single, SingleOrDefault). La respuesta de Javi es correcta pero es más eficiente así (los datos del Where como expresión en el método)

    var cursoEstudiante = db.CursoEstudiante .Include(m => m.Curso).Include(m => m.Estudiante).First(x => x.Id == identificador);


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    jueves, 20 de junio de 2019 10:06
    Moderador

Todas las respuestas

  • Hola greg_dorian:

    Si necesitas encontrar el registro de cursoEstudiante, puedes buscarlo y traer el primero que cumpla la condición.

    int idABuscar = 5;
    
    var cursoEstudiante = db.CursoEstudiante .Include(m => m.Curso).Include(m=> m.Estudiante).Where(c=>c.id==idABuscar).First();

    jueves, 20 de junio de 2019 4:00
  • hola

    Que version de EF estas utilizando?, no sea si era EF6 o quizas EF Core

    Querying and Finding Entities

    el Find() que quieres usar existe y filtra por la columna que mapeas como key, analiza el titulo "Finding entities using primary keys"

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 20 de junio de 2019 4:31
  • O también puedes hacer la búsqueda con una expresión (Hay varios métodos, First, FirstOrDefault, Single, SingleOrDefault). La respuesta de Javi es correcta pero es más eficiente así (los datos del Where como expresión en el método)

    var cursoEstudiante = db.CursoEstudiante .Include(m => m.Curso).Include(m => m.Estudiante).First(x => x.Id == identificador);


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    jueves, 20 de junio de 2019 10:06
    Moderador