Asp.net-Mvc
使用 Linq、ASP.NET MVC 插入多個數據庫表
我有一個相當簡單的場景,我有兩個要在其中添加數據的表。它們使用主鍵/外鍵進行管理。我想將新數據添加到表 A 中,然後檢索 Id 並插入到表 B 中。
我當然可以使用儲存過程來做到這一點,但我正在考慮嘗試使用 Linq 來做到這一點。
最好的方法是什麼?
我當然可以獲取 ID 並進行兩次單獨的插入,但這似乎並不是一種很好的做事方式。
db.Table.InsertOnSubmit(dbObject); db.SubmitChanges(); Int32 id = dbOject.Id; //Rest of the code有什麼方法可以優雅地做到這一點?
您是否在設計的對象關係中定義了兩個表之間的關係?如果是這樣,您可以讓 linq 自動分配第二個表的 ID 屬性。
範例…
表 A – Order
OrderId
OrderDate
表 B – Order Item
OrderItemId
OrderId
ItemId
程式碼(使用 LINQ-to-SQL):
Order order = new Order(); Order.OrderDate = DateTime.Now(); dataContext.InsertOnSubmit(order); OrderItem item1 = new OrderItem(); Item1.ItemId = 123; //Note: We set the Order property, which is an Order object // We do not set the OrderId property // LINQ will know to use the Id that is assigned from the order above Item1.Order = order; dataContext.InsertOnSubmit(item1); dataContext.SubmitChanges();