如何实现linq to entity 一对多插入
老师表
学生表
一个老师对应多个学生 要求把 这个老师的信息和多个学生的信息一起保存到 数据库里
请问怎么实现
用sql 的实现方法是 先插入老师信息 返回id 在根据返回的id 添加学生记录信息
------解决方案--------------------思路和SQL是一样的,假设你数据库表的主键是设置成自增的:
var teacher=new Teacher{Name="Tim"};
db.Teacher.AddObject(teacher);
db.SaveChanges();
if(teacher.Id>0)
{
//添加学生信息
}
------解决方案--------------------1楼的前提是:你在数据库中设置了主外键关系
然后再利用EntitySet来实现对teacher的存储
------解决方案--------------------C# code
var teacher = db.Teachers.Add(new Teacher { Name = "Scott", Birthday = DateTime.Now, Sex = true });
for (int i = 1; i <= 10; i++)
{
var s = new Student { Name = "Echo·" + (char)(i + 64), Birthday = DateTime.Now, Sex = i % 2 == 1 };
teacher.Students.Add(s);
}
db.SaveChanges();