Несмотря на то, что вы получите несколько разных ответов на эту тему, если этот метод соответствует вашим потребностям в программе, во что бы то ни стало, используйте один метод для вставки записей. Хотя это может сработать в первый раз, вы можете столкнуться с проблемами, когда вам нужно обновить модель Student
Teacher
или Parent
, поскольку вы не можете просто добавить одну и ту же запись дважды в зависимости от вашей Primary/Foreign Key Relations
.
Лично я бы разбил три модели на заводские методы следующим образом (я выложу один пример, а остальные могут последовать)
public class Teacher
{
public void Insert(Teacher entity)
{
//Initialize DB context here
context.Teachers.Add(entity);
context.SaveChanges();
}
public void Update(Teacher entity)
{
//Initialize DB context here
context.Teachers.Attach(entity);
context.Entry(entity).State = System.Data.Entity.EntityState.Modified;
context.SaveChanges();
}
}
Этот код не является строкой того, что вы должны иметь в своем приложении, но он представляет собой прочную основу для того, как вы можете вставлять и обновлять записи на основе заводских классов. Вам нужно будет включить обработку ошибок и отчеты об успехах, но я хотел бы дать вам общее представление о том, как вы можете использовать этот метод InsertRecords в своем исходном сообщении.