發表文章

目前顯示的是 3月, 2022的文章

[ASP.NET MVC] LINQ 查詢結果送至 View 與 Model 綁定

圖片
基礎課程裡 LINQ 查詢結果要顯示在 View 上,通常是一筆 record 或多筆成一個 List,但實務上有更多需求例如 join 和選取特定 field ,下面將網路上找來的教學做一個筆記。 查詢一筆資料,綁定傳給 View 查詢多筆資料,傳給 View Join 並只選取部份欄位 Join 並只選取部份欄位 by anonymous class Join 並只選取部份欄位 by ViewModel 後記:LINQ Join 的 method syntax 查詢一筆資料,綁定傳給 View 例如有一個資料表 Orders,內有三筆資料,已建立 Entity 叫 dbtestEntities: 查主鍵 OrderId 為 102 的資料,可用 .Find() 方法,回傳為一個 Orders 物件。 Controller: using prjMVC.Models; namespace prjMVC.Controllers { public class HomeController : Controller { dbtestEntities db = new dbtestEntities(); public ActionResult QueryOneRecord() { Orders result = db.Orders.Find(102); return View(result); } } } 查到的 result 是單一 Orders 物件,直接帶去 View。 加入 QueryOneRecord 的檢視時,模型類別要選 Entity Framework 產生的 Orders 類別,或是手動在 View 最上面寫: @model prjMVC.Models.Orders <div> <p> OrderId : @Model.OrderId </p> <p> ProductId : @Model.ProductId </p> <p> Quantity : @Model.Quantity </p> ...

[ASP.NET MVC] 重覆新增 Entity Framework 名稱已存在的問題

圖片
雖然 Entity 建好後其實不會去刪他,靠更新模型即可,但初學時就是會有刪掉重建的情形發生,然後就會出現下面的問題: 老師沒有講怎麼解決,因為上課就按表操課不會出現這種手賤刪掉的狀況,然後自己玩就出現了,最後自己摸索解決了就做個筆記。 先演練一下一般新增 Entity 的步驟: 在伺服器總管新增資料連接。 在 ~/Models/ 新增項目。 例如命名 Entity 為 dbtestEntities 因為某些原因要刪掉已經建立的 Entity,確實直接刪掉 ~/Models/ 下的 .edmx 檔即可。 但之後再次新增時會發現名字被改了。 而且刪掉那個 1,原名字會失敗,說已存在。 其實說明已經很清楚了,只是要手動去編輯 Web.config 這個檔案。在方案總管最下面就會看到了。 找到 <connectionStrings> 標籤中的 <add name="... ... /> 那一行,刪掉即可。 存檔後應該就可以新增那個名字的 Entity 了。而且因為 Entity 的 connection string 是放在 Web.config 檔案中,所以專案有另外保存 Web.config 的話就必須在新增 Entity 時更新和維護這個部份。

[Git] ASP.NET MVC 懶人包2

圖片
上篇: [Git] ASP.NET MVC 懶人包1 專題要用 GitHub 協作 ASP.NET MVC 專案,一路下來跌跌撞撞,整理一下做個筆記。 組長增加協作者,組員 clone 下專案 組員開啟專案會有的問題的故障排除 組員會有的「系統找不到指定的路徑」的問題故障排除 已被追蹤過的檔案要加入 .gitignore 組長增加協作者,組員 clone 下專案 組長至 Repository 頁面右上角選 Settings,若沒有,要點選「...」更多選項。 點選 Settings 設定。 左邊點選「Collaborators」協作者。這裡可能會彈出視窗做密碼確認。 右邊點選「Add people」加入組員。 填入組員的 Email 或 GitHub 帳號去尋找。 找到人後點選「Select a collaborator above」。 邀請函就會寄到電子信箱,請組員去收。若要增加更多協作者就再點「Add people」 接下來是已收取信件加入協作的組員的視角,或是組長要測試組員是否可順利參與專案,點選 Repository 頁面的「Code」。 確認是在 HTTPS 標籤頁面。 點網址右邊的圖示複製網址。 組員找空白資料夾,如果希望未來專案路徑是「 D:\Code\prjMVC\ 」,就檔案總管切換到「 D:\Code\ 」資料夾下面按滑鼠右鍵,點選「Git Bash Here」。 輸入「git clone 網址」,shift + insert 可貼上剛剛複製的網址。 切換資料夾後路徑出現 (main) 表示此資料夾已經有版本控制,之後可 git add、git commit、git push 和 git pull。 檔案總管切換到該資料夾。 ~/ 就會有方案檔,但千萬不要直接開啟這個檔案。 組員開啟專案會有的問題的故障排除 前述組長要先將一些檔案例如「 bin/ 」、「.suo」的編譯檔案或個人設定加進去 .gitignore,免得組員 git pull 或 git clone 下來引發一堆 conflict,亂 merge 造成檔案損毁,但是沒有這些檔案又無法繼續,這裡就要靠建置...

[Git] ASP.NET MVC 懶人包1

圖片
下篇: [Git] ASP.NET MVC 懶人包2 專題要用 GitHub 協作 ASP.NET MVC 專案,一路下來跌跌撞撞,整理一下做個筆記。 組長創建 Repository 組長創建 MVC 專案 組長新增 .gitignore 和 push 上 GitHub 組長創建 Repository 這裡跳過申請 GitHub 的過程,已經申請好帳號後,點選網站右上角個人圖示。 下拉選單點選 Your repositories。 在 Repository 頁面點選右邊的 New。 創建填好專案的名字,這裡我寫 prjMVC。 若協作者超過三名,必須選 Public,除非你有付費會員 Private 才能超過三人協作。設定好後點選下方的 Create repository。 出現下面這個畫面先放著。 組長創建 MVC 專案 進入 Visual Studio 點選「建立新專案」,點選 ASP.NET Web 應用程式 (.NET Framework) ,若近期沒有開過,右邊由 C# → Windows → Web 尋找。 點選下一步。 設定專案名,這裡我寫 prjMVC。 設定檔案位置。最初檔案倒不是很重要,後面可能改為使用 clone 下來的檔案。 設定方案名,這裡我寫 slnMVC。 點選建立 左邊點選空白。 右邊核心參考點選 MVC。 點選建立 好了後這是方案總管的樣子: 可以視情況新增一些檔案,例如下面新增了 HomeController 和 Index 的 View,並新增了幾個專案會用到的空白資料夾,有 ~/Images 和 ~/ViewModels ,如下。但是空白資料夾在 Git push 上 GitHub 再 git pull 或 clone 下來會有個問題,後面再說,也可以先新增幾個檔案進去。 組長新增 .gitignore 和 push 上 GitHub 多人協作要避免個人設定被 push 上 git server,所以 .gitignore 檔案要設定好,若不清楚要避開哪些檔案,可以搜尋網路上有口碑的前輩資源,這裡我用 Dotnet MVC 5 .g...