在一个主表和详细表直接,保存数据,详细表的顺序不对,模拟的过程这样的。
在EF4.2中没有发现问题,现在使用的vs2008下存在问题,项目不方便升级。
数据表结构:
PO_Order表
ID PK
Remark
PO_OrderList表
ID PK
POID FK
Q
static void Main(string[] args)
{
try
{
TESTEntities context = new TESTEntities();
PO_Order order = new PO_Order();
int i = 1;
while (i < 7)
{
order.PO_OrderList.Add(new PO_OrderList() { Q = i });
i++;
}
context.AddToPO_Order(order);
context.SaveChanges();
}
catch(Exception e)
{
throw e;
}
}
结果
个人推测,EF在 context.SaveChanges();使用了延迟,你每次add都是加入到队列中,只有在save时才同步到数据库中,你可以每次add后都 context.SaveChanges();下试试
注:本人未使用过EF