У меня есть таблица базы данных SQL, которая объединяет две другие таблицы.
Классы (таблица 1), студенты (таблица 2).
Объединенная таблица называется StudentClasses и выглядит следующим образом: 1 Составной первичный ключ, состоящий из 2 столбцов: StudentID (от студентов), ClassID (от классов)
Когда я добавляю свою базу данных в свой проект C# с помощью первого подхода к базе данных инфраструктуры сущностей ADO.NET EDMX, эта объединенная таблица не добавляется как автоматически сгенерированный файл класса cs, я полагаю, потому что он состоит из двух внешних ключей.
Однако он добавляется к моей XML-информации EDMX (см. ниже извлеченный из EDMX).
Моя проблема в том, что эта таблица содержит информацию о любом студенте, зарегистрированном в классе. Поэтому, если учащийся должен быть незарегистрирован или зарегистрирован в классе на основе пользовательского ввода в моем приложении, я не могу обновить базу данных с помощью DbContextInstance.StudentClasses.Add(studentClassObject) или DbContextInstance.StudentClasses.Add(studentClassObject).
Есть ли другой способ обновить эту таблицу в моем коде С#?
В моем классе Student есть свойство для Student.Classes, которое позволяет мне манипулировать этими данными в моей программе, но не затем отправлять их в базу данных (насколько я могу судить).
Я ценю любую помощь!
Ниже приведен XML-код, который показывает, что ADO.NET/EDMX знает о таблице, несмотря на то, что не создает автоматически сгенерированный класс сущности .cs.
<EntityType Name="StudentClasses">
<Key>
<PropertyRef Name="StudentID" />
<PropertyRef Name="ClassID" />
</Key>
<Property Name="StudentID" Type="int" Nullable="false" />
<Property Name="ClassID" Type="int" Nullable="false" />
</EntityType>
[...]
<EntitySet Name="StudentClasses" EntityType="Self.StudentClasses" Schema="dbo" store:Type="Tables" />
[...]
<Association Name="StudentClasses">
<End Role="Classes" Type="Self.Class" Multiplicity="*" />
<End Role="Students" Type="Self.Student" Multiplicity="*" />
</Association>
[...]
<AssociationSet Name="StudentClasses" Association="Self.StudentClasses">
<End Role="Classes" EntitySet="Classes" />
<End Role="Students" EntitySet="Students" />
</AssociationSet>
[...]
<AssociationSetMapping Name="StudentClasses" TypeName="ClassroomSchedulerModel.StudentClasses" StoreEntitySet="StudentClasses">
<EndProperty Name="Classes">
<ScalarProperty Name="ClassID" ColumnName="ClassID" />
</EndProperty>
<EndProperty Name="Students">
<ScalarProperty Name="StudentID" ColumnName="StudentID" />
</EndProperty>
</AssociationSetMapping>