Есть три модели - школа, учителя и ученики.
public class Pupil
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string FavouriteLesson { get; set; }
public SchoolEntity School { get; set; }
public List<Teacher> Teachers { get; set; }
public IList<DataLink> DataLink { get; set; }
}
public class SchoolEntity
{
[Key]
public int Id { get; set; }
public bool DeepEnglishLearning { get; set; }
public int? SchoolRating { get; set; }
public List<Teacher> Teachers { get; set; }
public List<Pupil> Pupils { get; set; }
public IList<DataLink> DataLink { get; set; }
}
public class Teacher
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Subject { get; set; }
public SchoolEntity School { get; set; }
public List<Pupil> Pupils { get; set; }
public IList<DataLink> DataLink { get; set; }
}
И есть класс DataLinks для создания связи многие ко многим:
DataLink.cs
public class DataLink
{
public int TeacherId { get; set; }
public Teacher Teacher { get; set; }
public int PupilId { get; set; }
public Pupil Pupil { get; set; }
}
Не пойму, я в DatabaseContext правильно прописал modelBuilder?
DatabaseContext
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options)
: base(options)
{}
public DbSet<SchoolEntity> SchoolTable { get; set; }
public DbSet<Teacher> TeacherTable { get; set; }
public DbSet<Pupil> PupilTable { get; set; }
public DbSet<DataLink> DataLink { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<SchoolEntity>().ToTable("School");
modelBuilder.Entity<Teacher>().ToTable("Teacher");
modelBuilder.Entity<Pupil>().ToTable("Pupil");
// Это написано правильно?
modelBuilder.Entity<DataLink>()
.HasOne(dl => dl.Teacher)
.WithMany(dl => dl.DataLink)
.IsRequired()
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<DataLink>()
.HasOne(dl => dl.Pupil)
.WithMany(dl => dl.DataLink)
.IsRequired()
.OnDelete(DeleteBehavior.Cascade);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется HTML-страница, состоящая из 3х таблиц(пустых), которые заполняются с помощью JavaScript с определенной периодичностью(данные таблиц обновляются)Страница...
Необходима работать с базой данных MySql с помощью Entity FrameworkВерсия платформы:
Все установил, запустил проект, создал бд в MySQL, натсроил пользователья и дал ему праваВ сеттингах: