代码之家  ›  专栏  ›  技术社区  ›  Robert W

在LINQ中插入[Order]和[OrderItems]

  •  0
  • Robert W  · 技术社区  · 17 年前

    我是LINQ的新手,想知道插入[Order],然后获取[Order].[ID]并使用它保存一些[OrderItems]的最佳设计是什么。

    我想尝试并阻止调用db.SubmitChanges(),获取新插入的订单ID,然后在插入相关订单项目时必须再次调用它(db.SubmitChanges()),但这是唯一的方法吗?

    提前谢谢。

    2 回复  |  直到 17 年前
        1
  •  4
  •   Justin Niessner    17 年前

    如果您正确设置了LINQ到SQL类,那么Order应该具有OrderItems的集合。

    您应该能够创建一个订单,然后向集合中添加新的OrderItems,然后调用db.SubmitChanges()一次,并允许LINQ使用SQL处理Id问题。

        2
  •  0
  •   Mircea Grelus    17 年前

    如果使用Order表和OrderItems表之间的外键关系对数据库进行了正确建模,则生成的对象也将具有关系。他们的订单将由OrderItems组成。特别是在一对多关系的情况下,Order对象将具有OrderItems属性,该属性将是OrderItem对象的集合。

    因此,您只需调用SubmitChanges一次。

    db.Orders.InsertOnSubmit(myOrder);
    db.SubmitChanges();