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 都具有的,不需要人为去干涉。楼主自己动手试一下不就清楚了?