日期:2014-05-20 浏览次数:21087 次
 CSDNDataContext db = new CSDNDataContext();
            department dept = new department();
            employee ey = new employee();
            dept.name = "社会部";
            ey.deptId = dept.id;
            ey.name = "lester";
            dept.employee.Add(ey);
            db.department.InsertOnSubmit(dept);
            db.SubmitChanges();
------解决方案--------------------
还以为楼主是想要讨论 并发冲突 的问题,原来是问这么简单的问题。
关于实体的并发冲突:
   LINQ to SQL 默认使用共享并发冲突;
   ADO.NET Entity Data Model 默认使用乐观并发冲突。
回到楼主1楼的问题,不管理是使用 LINQ to SQL 还是 ADO.NET Entity Data Model ,对于一起新增的主实体与子实体,在调用了 SubmitChanges() 或 SaveChanges() 后,子实体的外键字段是会自动根据主实体的主键而被赋值的,这种机制是 LINQ to SQL 、 ADO.NET Entity Data Model 都具有的,不需要人为去干涉。楼主自己动手试一下不就清楚了?
对于在更改主实体时,新增的子实体也是同样的。
------解决方案--------------------