Включить в запрос лямбда с # - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть три модели, связанные с Subject, UserSchools и Enroll_Teacher_Subjects.Я хочу сделать запрос, чтобы получить информацию о UserSchools и отношениях, которые Enroll_Teacher_Subjects имел с UserSchools.Это работает для меня, но мне также нужна информация объект Subject, который находится внутри Enroll_Teacher_Subjects, потому что мне нужны NameSubject, DescriptionSubject.Всегда имеет значение null, и я не могу разместить его в лямбда-запросе включения.

Тема предмета

public class Subject
{
    [Key]
    public int SubjectId { get; set; }

    [Required]
    [StringLength(50)]//only you can to write 50 characters
    [Display(Name = "Nombre de la Materia")]
    public string NameSubject { get; set; }


    [DataType(DataType.MultilineText)]
    [Display(Name = "Descripcion de la Materia")]
    public string DescriptionSubject { get; set; }

    [Display(Name = "Grado")]
    public int LevelId { get; set; }

    public virtual Level Level { get; set; }

    public virtual ICollection<Enroll_Teacher_Subject> Enroll_Teacher_Subjects { get; set; }
}

модель UserSchool

public class UserSchool
{

    [Key]
    public int UserId { get; set; }

    [Display(Name = "E-Mail")]
    [Required(ErrorMessage = "The field {0} is required")]
    [StringLength(50)]//only you can to write 50 characters
    [DataType(DataType.EmailAddress)]
    // [Index("UserNameIndex", Isnique = true)]
    public string EmailUser { get; set; }

    [Display(Name = "Nombres")]
    [Required]
    public string FirstNameUser { get; set; }

    [Display(Name = "Apellidos")]
    [Required]
    public string LastNameUser { get; set; }

    [Display(Name = "Full Name")]
    public string FullName
    {
        get { return string.Format("{0} {1}", this.FirstNameUser, this.LastNameUser); }
    }
    [Display(Name = "Telefono")]
    public string PhoneUser { get; set; }

    [Display(Name = "Direccion de residencia")]
    [Required]
    public string AddressUser { get; set; }

    [Display(Name = "Fecha de nacimiento")]
    [DataType(DataType.Date)]// para que nos muestre el calendario
    public DateTime DateBirthdayUser{ get; set; }


    [Display(Name = "Imagen")]
    public string PhotoUser { get; set; }

    [Display(Name = "Estudiante")]
    public bool IsStudentUser { get; set; }

    [Display(Name = "Profesor")]
    public bool IsTeacherUser { get; set; }

    [Display(Name = "Sistemas")]
    public bool IsSystemUser { get; set; }

    [Display(Name = "Numero de documento")]
    public string NumberDocumentUsers { get; set; }

    [Display(Name = "Tipo de documento")]
    public int TypeDocumentId { get; set; }
    public virtual TypeDocument TypeDocument { get; set; }

    [Display(Name = "Pais de nacimiento")]
    public int CountryId { get; set; }
    public virtual Country Country { get; set; }

    [Display(Name = "Departamento de nacimiento")]
    public int StateId { get; set; }
    public virtual State State { get; set; }

    [Display(Name = "Ciudad de nacimento")]
    public int CityId { get; set; }
    public virtual City City { get; set; }

    public virtual ICollection<Enroll_Teacher_Subject> Enroll_Teacher_Subjects { get; set; }
}

Модель Enroll_Teacher_Subject

 public class Enroll_Teacher_Subject
{
    [Key]
    public int Enroll_Teacher_SubjectId { get; set; }

    [Required]
    [Display(Name = "Fecha Matricula ")]
    [DataType(DataType.Date)]
    public DateTime DateEnroll_Teacher_Subject { get; set; }


    [DataType(DataType.MultilineText)]
    [Display(Name = "Observaciones")]
    public string ObservationEnroll_Teacher_Subject { get; set; }



    [Display(Name = "Profesor")]
    public int UserId { get; set; }

    public virtual UserSchool UserSchool { get; set; }

    [Display(Name = "Materia")]
    public int SubjectId { get; set; }

    public virtual Subject Subject { get; set; }

    [Display(Name = "Anno lectivo")]
    public int AnnoLectivoId { get; set; }
    public virtual AnnoLectivo AnnoLectivo { get; set; }

    public virtual ICollection<Enroll_Student_Subject_Teacher> Enroll_Student_Subject_Teachers { get; set; }

}

запрос

public async Task<ActionResult> Details(int? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }

        var UserList = await db.UserSchools                                           
                                        .Include(x => x.Enroll_Teacher_Subjects)

                                        .Include(x => x.TypeDocument)
                                        .FirstOrDefaultAsync(x => x.UserId == id);

        if (UserList == null)
        {
            return HttpNotFound();
        }

        return View(UserList);
    }

мой запрос

enter image description here

Объект нулевой, и я хочу, чтобы он давал информацию опредмет

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...