發表文章

目前顯示的是 8月, 2021的文章

.net core 與.net mvc及web api_學習筆記分享_章節大綱

圖片
  章節規劃比較零散 純個人隨興安排 可自行挑選想從哪個部分來展開 .NET MVC系列 ASP.NET MVC(一)_Webform跟MVC差在哪?_MVC專案架構概述 ASP.NET MVC(二)_從頭建立ASP.Net MVC應用程式_循序漸近式理解Controller跟View互動 ASP.NET MVC(三)_Model跟View之間透過Controller的互動 ASP.NET MVC(四)_路由的觀念解釋 ASP.NET MVC(五)_Razor語法筆記(一) ASP.NET MVC(六)_ViewData,ViewBag,TempData用法與差異比較 ASP.NET MVC(七)_表單Get和Post_將View輸入資料傳到Contoller ASP.NET MVC(八)_表單的屬性添加 ASP.NET MVC(九)_Model介紹(1)_單筆Model傳入至View_基本DataAnnotations介紹跟檢視上DisplayFor跟DisplayNameFor使用 ASP.NET MVC(十)_Model介紹(2)_檢視接收多筆MVC Model資料 ASP.NET MVC第011天_查詢結果用PagedList分頁呈現 ASP.NET MVC第012天_ASP.NET Identity使用筆記_初始配置到註冊篇 ASP.NET MVC第013天_ASP.NET Identity使用筆記_註冊完後的郵件有效性確認 ASP.NET MVC第014天_ASP.NET Identity使用筆記_使用者登入_Claims-based identity理解 ASP.NET MVC第015天_是不是用了Identity後就一定要接受它自動建立的DB跟命名?不想用到一個DB以上怎麼辦 ASP.NET MVC第016天_註冊用戶資料查詢結果顯示與單筆編輯刪除 ASP.NET MVC第020天_HtmlHelper介紹_用法筆記需要留意的細節 ASP.NET MVC第021天_Ajax Helper_AjaxOptions,AjaxExtensions,ActionLink,InsertionMode使用筆記part1 ASP.NET MVC第022天_Ajax Helper_Ajax.BeginForm使用筆記part2 ASP.NET MVC第023天_Aj

T-SQL筆記22_Pivot 語法彙總SELECT結果的轉置

圖片
  SQL創建測試用的案例table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CREATE TABLE Grades( [Student] VARCHAR ( 50 ), [Subject] VARCHAR ( 50 ), [Marks] INT ) GO INSERT INTO Grades VALUES ( 'Jacob' , 'Mathematics' , 100 ), ( 'Jacob' , 'Science' , 95 ), ( 'Jacob' , 'Geography' , 90 ), ( 'Amilee' , 'Mathematics' , 90 ), ( 'Amilee' , 'Science' , 90 ), ( 'Amilee' , 'Geography' , 100 ) GO select * from Grades 成績表目前Column是 學生名稱 , 科目 , 分數這樣子 排列 這裡我想將結果轉置 改為Column是學生名稱 然後 再 By各科目排列各科成績值 而Pivot可以幫助我們達成此任務 PIVOT 必須要搭配一個彙總函式,比方像 SUM()、COUNT()、MAX()等等 (PS: SUM跟COUNT一定要數值類欄位,MAX則可使用在VARCHAR , NVACHAR) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 SELECT * FROM ( SELECT [Student], [Subject], [Marks] FROM Grades ) StudentResults PIVOT ( SUM ([Marks]) FOR [Subject] IN ( [Mathematics], [Science], [Geography

EntityFramework Core筆記(2)_CodeFirst配置_搭配MVC應用的開發_編輯、刪除

圖片
編輯學生資訊   學生課程表資料若要進行編輯 流程會是 先從DB中根據ID來撈取該筆record然後反填到表單上呈現(GET部分) user再去修改提交更新成新的資料(POST部分) 編輯的畫面基本上跟新增沒有太多差異 因此可以拿添加的檢視來複製貼上局部修改 Show.cshtml多增加操作的欄位表頭和跳轉到Edit 動作的連結 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 @{ ViewData["Title"] = "顯示學生資訊"; } <h3> @ViewData["Title"] </h3> @model IEnumerable <StudentViewModel> <table class= "table table-bordered" > <tr> <td> 操作 </td> <td> @Html.DisplayNameFor(m => m.Id) </td> <td> @Html.DisplayNameFor(m => m.Name) </td> <td> @Html.DisplayNameFor(m => m.Age) </td> <td> @Html.DisplayNameFor(m => m.Sex) </td> </tr> @foreach (StudentViewModel stu in Model) { <tr> <td> <a asp-controller= "Student" asp-action= "Edit"

EntityFramework Core筆記(1)_CodeFirst配置_搭配MVC應用的開發_新增、查詢

圖片
  在之前該篇有大致上介紹到配置方式DB-First https://coolmandiary.blogspot.com/2021/07/net-core10ef-coredb-first.html EF 是一套對於.Net的ORM框架,而EF Core則是針對.Net5(.Net Core)的延伸。 ORM(Object-Relational Mapping)可以理解為關聯式資料庫和物件之間根據某種規則而建立的一套映射關係,取代底層資料庫操作而透過物件的coding來操作,主要都是透過物件的形式在做DB存取更新刪除的相關操作。 其他ORM框架像是Dapper , NHibernate都是其中一種。 新建好.net core mvc專案 EF Core的安裝 Microsoft.EntityFrameworkCore.sqlserver 一般在專案架構中可能常見的三層或多層架構會額外存在一個Model層又被稱為「實體模型」。 實體模型和之前提到的檢視模型有比較大區隔,實體模型專注於資料表結構關聯在各層之間的傳遞交換,這些資料最終透過DB訪問層傳到DB中。 檢視模型則是在檢視和控制器之間進行資料傳遞交換,檢視模營無法脫離UI層。 因此也可以建議一個後綴用ViewModel一個用DataModel來做區分。 Step1.準備好資料實體模型(各自都對應一張table)於Data Folder下 這裡資料字典如下 StudentDataModel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 using System ; using System.Collections.Generic ; using System.Linq ; using System.Threading.Tasks ; namespace Net5EFCore_App1.Data { public class StudentDataModel { public Guid Id { get ; set ; } public string Name { get ; set ; } public int Age { get ; set ; } p