MVC EF之多表關聯資料更新

2021-08-22 15:22:22 字數 694 閱讀 9662

多表關聯資料更新

6.最後再完成httppost的edit功能

a.首先更新sysuser表:用model binder中的值更新entity: usertoupdate.可以看到,我們使用了白名單指定資料庫中需要更新的字段。

tryupdatemodel(usertoupdate,"",new string )

b.再更新sysuserrole表:將資料庫中值和編輯後的值進行比對,基本邏輯是:如果被選中了,原來沒有的要新增;如果沒被選中,原來有的要刪除。

updateuserroles(selectedroles, usertoupdate);

注意:在updateuserroles裡,我新建了乙個連線using (accountcontext db2=new accountcontext())如果用之前的db會報如下錯誤:已有開啟的與此 command 相關聯的 datareader,必須首先將它關閉。

原生sql使用總結

a.原生sql執行查詢:

需要返回實體模型,使用dbset.sqlquery (context會跟蹤,等效於linq方式)

需要返回其他型別,使用database.sqlquery

b.原生sql執行更新:

使用database.executesqlcommand

多表關聯更新

用優惠表裡面的70006569的優惠的開始時間 來更新lik.temp yangmm 1115 discnt 的開始時間。這就出現問題了第乙個問題 同乙個使用者的70006569 優惠的開始時間可能有好幾個 取哪乙個?這就需要rank 函式來解決。第二個問題更新的時候會出現無法將null值插入.這個...

mysql 多表關聯更新資料

場景 需要根據部門 department 表的city id更新對應user 使用者表 的city id欄位的值,使用者表與部門表的邏輯外來鍵 user表的dept id 至於為什麼這樣做你別管。user 使用者表 department 部門表 enabled 是否已刪除 update user u...

oracle 多表刪除 同時刪除多表中關聯資料

oracle 多表刪除 同時刪除多表中關聯資料 1 從資料表t1中把那些id值在資料表t2裡有匹配的記錄全刪除掉 delete t1 from t1,t2 where t1.id t2.id 或delete from t1 using t1,t2 where t1.id t2.id 2 從資料表t1...