1

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

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

用户表和用户角色。

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

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

4

1 回答 1

3

获取父对象。将子记录添加到它的导航属性。

像这样的东西

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 是您的 Master 实体,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();
于 2012-05-15T20:42:52.173 回答