如何在Child Table中插入行?

时间:2012-05-15 20:34:09

标签: asp.net-mvc-3 entity-framework-4.1

我对实体框架和模式很新。如何将数据插入子表?

我将信息插入到父表中。我是否必须返回行的标识然后发出另一个插入?

用户表和用户角色。

我一直在努力寻找一天的解决方案,但我认为这是因为我正在寻找错误的结果。我的结构是使用工作单元/存储库模式设置的。

任何帮助都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:3)

获取Parent对象。将子记录添加到其导航属性中。

类似这样的事情

int orderId=33;

var parent=dbContext.Orders.Where(x=>x.Id==orderId);

parent.Details.Add(new OrderDetail{ Quantity=4, ItemId=37});
parent.Details.Add(new OrderDetail{ Quantity=2, ItemId=48});

dbContext.SaveChanges();

假设Order是您的主实体,Detail是您的子实体,dbContext是您的DBContext类对象。

编辑:如果要将它们一起添加,

Order parent=new Order { CustomerId=35, Discount=43.63 };
parent.Details.Add(new OrderDetail{ Quantity=4, ItemId=37});
parent.Details.Add(new OrderDetail{ Quantity=2, ItemId=48});

dbContext.Orders.Add(parent);
dbContext.SaveChanges();