[問題] EF的SaveChanges()同時要異動兩個Table

看板C_Sharp作者 (BlueCancer)時間5年前 (2018/07/18 23:42), 編輯推噓5(5014)
留言19則, 6人參與, 5年前最新討論串1/1
像是訂單成立要同時寫入Order和OrderDetail兩個資料表 原本打算用一個ViewModel,ViewModel有Order和OrderDetail所有欄位 但Add時會遇到CS1503無法轉換的錯誤 https://1drv.ms/u/s!AmQ3SaTA10NQihej-6jnefSpgRdc 謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.42.5 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1531928554.A.797.html

07/18 23:56, 5年前 , 1F
要先把ViewModel轉成entity,才能Add呀,你可以看一下Add
07/18 23:56, 1F

07/18 23:56, 5年前 , 2F
可接受的型別
07/18 23:56, 2F

07/19 15:26, 5年前 , 3F
轉型概念可以參考這幾篇
07/19 15:26, 3F

07/19 15:26, 5年前 , 4F
07/19 15:26, 4F

07/19 15:27, 5年前 , 5F
轉型和類型轉換 https://goo.gl/tjEhGj
07/19 15:27, 5F

07/19 15:28, 5年前 , 6F
as (C# 參考) https://goo.gl/PBkZjX
07/19 15:28, 6F

07/19 20:58, 5年前 , 7F
當然不行.Add只能吃CustomerM的型別,丟CustomerViewModel
07/19 20:58, 7F

07/19 20:59, 5年前 , 8F
進去一定會丟錯誤出來
07/19 20:59, 8F

07/19 21:00, 5年前 , 9F
我會new一個CustomerM的型別出來,然後一個一個屬性的從
07/19 21:00, 9F

07/19 21:01, 5年前 , 10F
ViewModel搬到CustomerM上面.然後Add傳入CustomerM的型別
07/19 21:01, 10F

07/19 21:02, 5年前 , 11F
的變數.
07/19 21:02, 11F

07/20 08:02, 5年前 , 12F
沒記錯的話 分開add可以 savechanges會是一個交易
07/20 08:02, 12F

07/20 08:02, 5年前 , 13F
不用寫成一個add
07/20 08:02, 13F

07/20 11:54, 5年前 , 14F
Order & OrderDetail沒有做關聯嗎?要不然我怎麼記得EF會
07/20 11:54, 14F

07/20 11:54, 5年前 , 15F
自動幫你Insert到兩個Table?為什麼要自己分開Add?
07/20 11:54, 15F

07/20 22:23, 5年前 , 16F
兩個table沒做關聯,我加關聯再試看看
07/20 22:23, 16F

07/20 22:24, 5年前 , 17F
真的很感謝大家熱心的回答^^
07/20 22:24, 17F

08/02 21:46, 5年前 , 18F

08/02 21:48, 5年前 , 19F
最後完成的練習專案,感謝大家協助!
08/02 21:48, 19F
文章代碼(AID): #1RJr_gUN (C_Sharp)