Серьезно, я не знаю, как это правильно выразить.
У меня есть 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
столбец из последнего (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
в GrupoPeriodo
.