發表文章

目前顯示的是有「EntityFramework」標籤的文章

Entity Framework 注意事項

圖片
 Entity Framework(EF) database first 是自行先建立好 DB Table,再透過 EF 將 Table 拉進來使用,是使用 EF 的其中一種方法,只是有些地方須要注意一下: (一) Table 一定要有定義 Primary Key(PK),如此 EF 對它做 Insert、Update、Delete 時才能成 功,但不影響 Select。 (二) 如果 Table 沒有定義 PK,在 EF 4 是加不進 Model 的,麻煩的是還沒有任何錯誤訊息提示,以前都傻傻的以為是 Model 壞了...(EF 之後的版本不知道有沒有更新了)。 確實 我這邊EF4是真的加不進來而且不會有ERROR 所以我才找到這篇 這個有一個解法 就是自己手動設定PK 但是會與DB不符合 到時候下一個修改DB後引入的人可能就會再碰一次這個錯誤 非常麻煩 但是如果你一開始有建立 PK 並加入 Model 了,然後再將 Table 的 PK 取消掉,再執行 EF 的 Update model from database,此時 Model 裡的 Table PK 會被取消,如果你對它做 Insert、Update、Delete 其中一個指令,就會出現如下錯誤訊息: (三) 另一種情況是 Table 沒有定義 PK,但有定義部份欄位 Nullable,這樣加到 EF Model 後,會自動將 Nullable 的欄位都變成 PK,這時如果你對這些欄位要做異動,就要遵守唯一值的原則,否則會出現如下錯誤訊息: Entity Framework 更新模組功能 Entity 的 更新模組功能就結論上來講不會因為你改變了資料庫便更新 參考: https://d8890007.blogspot.com/2017/08/aspnet-entity-framework-database-first.html

Entity FrameWork Update 錯誤

當初在使用EF的時候我記得我都是 ( Entity Framework Core ) db.TableName.Update(Model); db.SaveChanges(); 但是近期在公司寫code的時候,找不到這段function 我以為是用add(model); 結果並不是 他是真的新增了一筆 要用EF6.x 的話 要使用 db.Entry(Request).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); 這樣儲存才是變更 不是新增

Entity Framework 自動生成 Model中

圖片
如何使用Entity Framework 製作 Model 首先我是有先安裝了 這三個NuGet的是要先下載的 接著要做的事情是 建立DB連線 檢視 => 其他視窗 => 伺服器總管 => 加入連線 輸入一些必要欄位之後按測試連線,通過即可 記得類型必須選第四張圖的類型 建立這個的目的就是在於要複製連線字串 接著打開Nuget 輸入 Scaffold-DbContext " 複製字串 " Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force 此憑證鏈結是由不受信任的授權單位發出的 有可能會遇到這個錯誤 原因是因為少加了 TrustServerCertificate=true; 大致上這樣就完成了 參考: https://ithelp.ithome.com.tw/articles/10262110 https://dotblogs.com.tw/mis2000lab/2021/11/29/SqlClient_SqlException_SSL_Provider_error#google_vignette