透過 ORM 物件來操作資料庫最大的好處就是方便,不用再去理會 table 與 column 的問題,也不需要去撰寫 Insert Update Delete 等等的 SQL 語法,這些 EF 都會自動幫我們處理。 之所以能夠這麼做,是因為 EF 會透過變更追蹤器(change tracker)持續追蹤你所進行的操作,直到你呼叫 SaveChanges 方法時,才會將這些變更,依據你的資料庫種類轉譯成適合的 SQL 語法,並執行更新。
這一篇主要是探討關聯性(relationship)資料的操作時應該注意的事項。操作對象是北風資料庫,為了操作說明,將 Order.CustomerID 由原本是允許 Null 欄位,更改成必須欄位。 資料庫中, Order.OrderID, Employee.EmployeeID, Product.ProductID 都是自動編號。