一对多关系组实体框架

时间:2018-09-28 20:33:11

标签: sql entity-framework .net-core asp.net-core-mvc entity-framework-core

严重的是,我不知道如何正确表达这一点。

我有2个型号:

    public class ProfesorCursoMateriaPeriodo
{
    public int Id { get; set; }
    public int ProfesorId { get; set; }
    public int CursoId { get; set; }
    public int MateriaId { get; set; }
    /// <summary>
    /// Referencia a la columna de Grupo en GrupoPeriodo
    /// </summary>
    public int Grupo { get; set; }

    [ForeignKey("ProfesorId")]
    public virtual Profesor Profesor { get; set; }

    [ForeignKey("Grupo")]
    public virtual List<GrupoPeriodo> GrupoPeriodo { get; set; }
    [ForeignKey("CursoId")]
    public virtual Curso Curso { get; set; }

    [ForeignKey("MateriaId")]
    public virtual Materia Materia { get; set; }
}



public class GrupoPeriodo
    {
        public int Id { get; set; }
        public int PeriodoId { get; set; }
        public int Grupo { get; set; }

        [ForeignKey("PeriodoId")]
        public virtual Periodo Periodo { get; set; }

    }

我想从ProfesorCursoMateriaPeriodo使用Grupo属性来从GrupoPeriodo中获取所有值,这些值包含与后者中的Grupo列相同的值({{ 1}})。

示例:

GrupoPeriodo

我想要的话,

   var grupoPeriodo = new GrupoPeriodo[]
    {
        new GrupoPeriodo
        {
            Id = 1,
            PeriodoId = 1,
            Grupo = 1,

        },
        new GrupoPeriodo
        {
            Id = 2,
            PeriodoId = 2,
            Grupo = 1,
        },
        new GrupoPeriodo
        {
            Id = 3,
            PeriodoId = 3,
            Grupo = 1,
        },
        new GrupoPeriodo
        {
            Id = 4,
            PeriodoId = 4,
            Grupo = 1,

        },
    };

以上所有内容均指向new ProfesorCursoMateriaPeriodo {Id = 1, CursoId = 1, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 2, CursoId = 2, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 3, CursoId = 3, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 4, CursoId = 4, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 5, CursoId = 5, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 6, CursoId = 6, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 7, CursoId = 7, Grupo = 1, MateriaId = 1, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 8, CursoId = 1, Grupo = 1, MateriaId = 2, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 9, CursoId = 2, Grupo = 1, MateriaId = 2, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 10, CursoId = 3, Grupo = 1, MateriaId = 2, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 11, CursoId = 4, Grupo = 1, MateriaId = 2, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 12, CursoId = 5, Grupo = 1, MateriaId = 2, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 13, CursoId = 6, Grupo = 1, MateriaId = 2, ProfesorId = 1}, new ProfesorCursoMateriaPeriodo {Id = 14, CursoId = 7, Grupo = 1, MateriaId = 2, ProfesorId = 1}, 的同一“组”。

这甚至可能吗?我想这样做而没有在GrupoPeriodo中显式定义形式为ProfesorCursoMateriaPeriodoId的外键。

0 个答案:

没有答案