Пожалуйста, помните, что я не использую какой-либо инструмент ORM. Я только что написал простой код ado.net для классов и методов, которые выглядят следующим образом. И я также поддерживаю идентификаторы.
Предположим, у меня есть три таблицы Teacher
, Course
и CourseTeacher
(таблица соединений) для отношения "многие ко многим", и я разработал свои классы соответственно.
Теперь предположим, что изначально все таблицы пусты .
И я впервые выполняю следующий код .
Course cpp = new Course();
cpp.CourseName = "CPP";
Course java = new Course();
java.CourseName = "Java";
Course cs = new Course();
cs.CourseName = "CS";
Teacher t1 = new Teacher();
t1.TeacherName = "ttt";
t1.AddCourse(cpp);
t1.AddCourse(java);
t1.AddCourse(cs);
t1.SaveOrUpdate();
Teacher t2 = new Teacher();
t2.TeacherName = "ppp";
t2.AddCourse(cpp);
t2.AddCourse(java);
t2.AddCourse(cs);
t2.SaveOrUpdate();
Teacher t3 = new Teacher();
t3.TeacherName = "mmm";
t3.AddCourse(cpp);
t3.AddCourse(java);
t3.AddCourse(cs);
t3.SaveOrUpdate();
Как мне справиться с этой ситуацией в моем коде?
Должен ли я просто сгенерировать исключение, чтобы сказать, что Course
- в таблице нет данных?
Или одновременно заполнять таблицы Course
, Teacher
и CourseTeacher
для обеспечения согласованности данных?
Возможен ли второй вариант (Coz, поскольку в таблице Course
нет данных, программа, пытающаяся ввести данные в CourseTable
, выдаст исключение базы данных)?