业务处理方式: 主表插入一条记录,取出主表的记录主键,赋值给予从表多条记录使用
微软的东西果然是一朝天子一朝臣,每代都不一样,找出的答案都不能解决问题,也许是我没找到吧。
自嘲下,记录这折腾了我两天的不满。
public void CreateWorkOrdGrid(Pp_WorkOrd_Hd headObject, List<Pp_WorkOrd_Dt> bodyObject)
{
//方式一
using (var transction = project.Database.BeginTransaction())
{
project.Pp_WorkOrd_Hd.Add(headObject);
foreach (Pp_WorkOrd_Dt a in bodyObject)
{
a.Pp_WorkOrd_Hd = headObject;
project.Pp_WorkOrd_Dt.Add(a);
}
project.SaveChanges();
transction.Commit();
}
//方式二
using (var scope = new TransactionScope())
{
project.Pp_WorkOrd_Hd.Add(headObject);
project.SaveChanges();
foreach (Pp_WorkOrd_Dt a in bodyObject)
{
a.Pp_WorkOrd_Hd = headObject;
project.Pp_WorkOrd_Dt.Add(a);
}
project.SaveChanges();
scope.Complete();
}
}