【发布时间】:2019-04-10 04:46:18
【问题描述】:
所以我有两个 ObservableCollections:
ObservableCollection<Student> studentslist
ObservableCollection<Subject> subjectslist
我将它们传递给我已经设置了与 sql 数据库的整个通信的类。
studentslist 包含传递的值:
StudentsList.Add(new Student { IdStudent = newStudentId, Name = NameBox.Text, Surname = SurnameBox.Text, Index = IndexBox.Text })
subjectlist 包含来自我的列表框中选中复选框的值(我仍然不确定这是否正确):
var selectedSubjects = SubjectList.Where(subjects => subjects.IsChecked == true);
var selectedSubjectsCollection = new ObservableCollection<Subject>(selectedSubjects);
这是我的主题课:
public class Subject
{
public int IdSubject{ get; set; }
public string subject{ get; set; }
public bool IsChecked { get; set; }
public override string ToString()
{
return $"{subject}";
}
}
现在在我的班级中,负责与 sql 数据库的连接,我创建了获取这两个集合的方法,并根据它们的值在数据库中创建新记录:
public void addRecord(ObservableCollection<Student> studentslist, ObservableCollection<Przedmiot> subjectslist)
{
OpenConection();
//...
CloseConnection();
}
在数据库中我有学生表:
Student(IdStudent, FirstName, LastName, IndexNumber)
和主题表:
Subject(IdSubject, Name)
就我可以从我的数据库中读取数据而言,我不知道如何以正确的方式将这些值传递给数据库中的相应值。
【问题讨论】:
-
欢迎来到 StackOverflow!您需要 EntityFramework 或其他 ORM 来进行 CRUD 操作
-
插入学生的 ID 绝不是一个好主意!让 SQL 来处理。该表需要将该字段设置为自动增量且不为空。我注意到您要么在代码中处理逻辑,要么将 UI 元素传递给 ViewModel,这在这两种情况下都是不好的做法!
标签: c# sql-server wpf