这是我的班级记录,可以是主/详细/细节 教师及其学生的记录
class Record
{
public string RecorNo { get; set; }
private List<Teacher> _Student = new List<Teacher>();
public List<Teacher> Teacher
{
get { return _Teacher; }
set { _Teacher=value; }
}
}
class Teacher
{
private string _TeacherName;
public Teacher(string teachername)
{
_TeacherName = teachername;
}
public string TeacherName
{
get { return _TeacherName; }
set { _TeacherName = value; }
}
private List<Students> _students = new List<Students>();
public List<Students> Students
{
get { return _students;}
set { _students = value;}
}
}
class Details
{
private string _studentname;
public Details(string studentsname)
{
_studentsname = studentsname;
}
我在2 data.gridview中绑定了教师/学生,如下所示:
TeacherBindingSource.DataSource = record.Teacher;
StudentBindingSourcce.DataSource = TeacherBindingSource;
StudentBindingSourcce.DataMember = "Student";
dataGridView1.DataSource =TeacherBindingSource;
dataGridView2.DataSource = StudentBindingSourcce;
现在我失去了如何保存这条记录 如何将其保存到数据库中? 我想要一个。
record.Save(); method that will save the whole object.
我可以遍历列表并逐个插入,但记录可能是 已存在于数据库中,因此我必须知道添加,更新或删除了哪条记录?
另外,如何制作一个能够填写教师/学生名单的方法,如:
records.LoadTeachers();
records.Teacher("Smith").LoadStudents();
答案 0 :(得分:2)
你可能想看一下ORM(对象关系映射)库,比如微软实体框架或(我最喜欢的)NHibernate。它们存在的唯一理由是使持久化对象更容易进入关系数据库。他们可以创建新行,可以跟踪对象更新和对象之间的关系。您可以创建自己持久保存对象所需的逻辑,但已建立的ORM库已经成熟,广泛使用,并且可能比单个开发人员在合理的时间内提出的任何设计好得多。