gpt4 book ai didi

c# - 将数据表更新为 Entity Framework 中的多个表

转载 作者:太空狗 更新时间:2023-10-29 19:46:48 25 4
gpt4 key购买 nike

我创建了一种方法,通过 Entity Framework 将数据表中的数据添加到我的数据库中的表中,但是它只允许我填充一个表,我想在一个方法中填充多个表。

下面是我添加到学生表的方法,我已经注释掉了模块表,因为当我添加它时,没有数据传输到数据库。有人可以推荐一种方法,我可以在此方法中填充多个表吗?

谢谢

public Boolean ConvertDataTable(DataTable tbl)
{
string Feedback = string.Empty;
ModuleEntities db = new ModuleEntities();
// iterate over your data table
foreach (DataRow row in tbl.Rows)
{

student st = new student();
st.student_no = row.ItemArray.GetValue(0).ToString();
st.surname = row.ItemArray.GetValue(1).ToString();
st.firstname = row.ItemArray.GetValue(2).ToString();
db.students.Add(st);
//module mod = new module();
//mod.module_code = row.ItemArray.GetValue(3).ToString();
//mod.name = row.ItemArray.GetValue(4).ToString();
//db.modules.Add(mod);


}
try
{
db.SaveChanges();
Feedback = "Upload Successful";
return true;
}
catch
{
Feedback = "Upload Failed";
return false;
}

}

学生类

public partial class student
{
public student()
{
this.submits = new HashSet<submit>();
this.takes = new HashSet<take>();
this.lecturers = new HashSet<lecturer>();
}

public string student_no { get; set; }
public string surname { get; set; }
public string firstname { get; set; }

public virtual ICollection<submit> submits { get; set; }
public virtual ICollection<take> takes { get; set; }
public virtual ICollection<lecturer> lecturers { get; set; }
}

模块类

public partial class module
{
public module()
{
this.takes = new HashSet<take>();
this.lecturers = new HashSet<lecturer>();
}

public string module_code { get; set; }
public string name { get; set; }

public virtual ICollection<take> takes { get; set; }
public virtual ICollection<lecturer> lecturers { get; set; }
}

上课

public partial class take
{
public string student_no { get; set; }
public string module_code { get; set; }
public string grade { get; set; }

public virtual module module { get; set; }
public virtual student student { get; set; }
}

最佳答案

下面是使用 Entity Framework 将相关数据添加到数据库的要点:

class Program
{
static void Main(string[] args)
{
SchoolDBEntities dataContext = new SchoolDBEntities();
//Create student object
Student student1 = new Student();
student1.StudentName = "Student 01";
//Create course objects
Cours mathCourse = new Cours();
mathCourse.CourseName = "Math";
Cours scienceCourse = new Cours();
scienceCourse.CourseName = "Science";
//Save courses to student 1
student1.Courses.Add(mathCourse);
student1.Courses.Add(scienceCourse);
//Save related data to database
//This will automatically populate join table
//between Students and Courses
dataContext.Students.Add(student1);
dataContext.SaveChanges();
}
}

另一个例子: enter image description here

关于c# - 将数据表更新为 Entity Framework 中的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com