repo สำหรับโครงการ ASP.NET Core Pluralsight
ต่อไปนี้เป็นบันทึกเพิ่มเติมและคำถามที่พบบ่อยเกี่ยวกับหลักสูตร
เวอร์ชันต้นฉบับของรหัสที่บันทึกไว้ในหลักสูตร Pluralsight อยู่กับ ASP.NET CORE 2.1 ฉันวางรหัสนี้ไว้ในสาขาชื่อ ASPNET21
สาขาหลักที่ฉันอัปเดตเพื่อใช้ ASP.NET CORE 3 และ Bootstrap และ JQuery เวอร์ชันล่าสุด
ในการสร้างสร้างและเรียกใช้โครงการเหมือนที่เราทำใน Visual Studio คุณสามารถใช้บรรทัดคำสั่ง:
dotnet new razor
dotnet build
dotnet run
สภาพแวดล้อมบางอย่างเช่นรหัส Visual Studio สามารถตรวจจับโครงการ. NET Core และเพิ่มการสนับสนุนเพื่อสร้างและเรียกใช้จากเมนูรหัส VS โดยอัตโนมัติ
VS ใช้เวทมนตร์บางอย่างเพื่อรีสตาร์ทเว็บเซิร์ฟเวอร์โดยอัตโนมัติเมื่อคุณทำการเปลี่ยนแปลงไฟล์ซอร์สโค้ด หากคุณใช้เครื่องมือบรรทัดคำสั่งคุณสามารถทำได้โดยใช้:
dotnet watch run
... แทนที่จะเป็น ...
dotnet run
คุณสามารถใช้ dotnet เพื่อสร้างไลบรารีคลาส วางสิ่งนี้ในระดับโฟลเดอร์เดียวกันกับโครงการ Odetofood
dotnet new classlib
Bootstrap 4 เปลี่ยนคลาสบางชั้นและไม่รวม Glyphicons อีกต่อไป Font Awesome เป็นการทดแทนที่ดี เมื่อคุณรวมฟอนต์สไตล์ชีทที่ยอดเยี่ยมไว้ในหน้า _layout ของคุณด้วยแท็กลิงก์ไอคอนก็ใช้งานง่าย เพื่อแสดงไอคอนการค้นหาให้ใช้รหัสนี้:
<input type="search" class="form-control" value="" />
<div class="input-group-append">
<button class="btn btn-secondary">
<i class="fas fa-search"></i>
</button>
</div>
โปรดทราบว่า Bootstrap เวอร์ชัน 4 ไม่มีไอคอนออกจากกล่องอีกต่อไป ดูเอกสารสำหรับข้อมูลเพิ่มเติม Font Awesome เป็นการทดแทนที่ดี
คุณจะต้องติดตั้ง NuGet Package Dotnet-Aspnet-Codegenerator ติดตั้งแพ็คเกจนี้เป็นเครื่องมือจากสาย Comamnd และติดตั้งแพ็คเกจการออกแบบสำหรับโครงการ:
dotnet tool install --global dotnet-aspnet-codegenerator
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
หลังจากติดตั้งคำสั่งต่อไปนี้ควรแสดงหน้าจอวิธีใช้และรายการเครื่องกำเนิดไฟฟ้าที่มีอยู่ ตรวจสอบให้แน่ใจว่าคุณดำเนินการคำสั่งภายในไดเรกทอรีที่มีโครงการอยู่
dotnet aspnet-codegenerator -h
ตอนนี้คุณควรจะสามารถติดตามพร้อมกับนั่งร้านในวิดีโอ
dotnet aspnet-codegenerator razorpage List Empty -udl -outDir PagesRestaurants
สำหรับผู้ใช้ Visual Studio คุณอาจต้องการอ้างอิงถึงเครื่องมือ codegeneration ที่คุณสามารถใช้จาก UI เรียกใช้คำสั่งต่อไปนี้ในไดเรกทอรีโครงการ:
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet restore
สิ่งนี้จะช่วยให้คุณคลิกขวาที่โครงการและเรียกใช้นั่งร้าน S
ดูการติดตั้ง SQL Server บน Mac หากคุณย้ายผ่านหลักสูตรโดยใช้ Visual Studio สำหรับ Mac จาก DB ผู้ใช้:
เมื่อติดตั้งแล้วให้จดบันทึกชื่อผู้ใช้ฐานข้อมูลของคุณ (โดยปกติคือ 'SA') และรหัสผ่าน
มันราบรื่นมาก ฉันใช้ dbbeaver ซึ่งอธิบายไว้ในบทความด้านบนและฉันพบว่ามันยอดเยี่ยม
ต่อไปนี้คลาสของสกอตต์ที่นี่ซึ่งเขาตั้งค่าสตริงการเชื่อมต่อฐานข้อมูลใน
appsettings.jsonเป็นอินสแตนซ์ DB ท้องถิ่นของเขาใน Windows คุณสามารถใช้สตริงการเชื่อมต่อนี้:
"ConnectionStrings" : {
"OdeToFoodDb" : " Server=localhost,1433;Database=OdeToFood;User Id=sa; Password=your-password "
}จากนั้นแทนที่ 'Password ของคุณ' ด้วยรหัสผ่านจริงของคุณที่คุณเลือกเมื่อติดตั้ง SQL Server Image ในคอนเทนเนอร์ Docker
มันเป็นประสบการณ์ที่เรียบง่ายและราบรื่นมาก
เริ่มต้นใน 3.0 เครื่องมือบรรทัดคำสั่ง DOTNET EF จะไม่รวมอยู่ใน. NET Core SDK อีกต่อไป ก่อนที่คุณจะสามารถเรียกใช้คำสั่งการโยกย้ายหลักของ EF Core หรือนั่งร้านคุณจะต้องติดตั้งแพ็คเกจนี้เป็นเครื่องมือทั่วโลกหรือท้องถิ่น ในการติดตั้งเวอร์ชันล่าสุดเป็นเครื่องมือทั่วโลกให้ใช้คำสั่งต่อไปนี้:
dotnet tool install --global dotnet-ef
หากคุณไม่ได้ใช้ Visual Studio การนั่งร้านที่แสดงในคลิปนี้เป็นสิ่งที่คุณสามารถทำได้ด้วยเครื่องมือ dotnet-aspnet-codegenerator ที่กล่าวถึงในโมดูล 3 คำสั่งจะมีลักษณะเหมือน:
dotnet aspnet-codegenerator controller -api -name RestaurantsController
--model OdeToFood.Core.Restaurant --dataContext OdeToFood.Data.OdeToFoodDbContext
หมายเหตุสวิตช์ -api ใช้เส้นประเดียว
ใน ASP.NET CORE 3.0+ คุณสามารถนำบริการที่ดีมาใช้เพื่อรองรับหน้ามีดโกนและคอนโทรลเลอร์ คุณไม่จำเป็นต้องนำกรอบ MVC ทั้งหมดมาด้วย ในการใช้หน้ามีดโกนและคอนโทรลเลอร์ API เช่นคุณจะต้องมีการโทรสองวิธีต่อไปนี้ในวิธี ConfigureServices ของ Startup.cs
// for aspnetcore3.0+
services.AddRazorPages();
services.AddControllers();
การกำหนดเส้นทางนั้นแตกต่างกันเล็กน้อยและมีความละเอียดมากขึ้นใน 3.0 คุณจะต้องใช้รหัสต่อไปนี้ที่ด้านล่างของวิธี Configure ใน Startup.cs สำหรับ 3.x:
app.UseRouting();
app.UseEndpoints(e =>
{
e.MapRazorPages();
e.MapControllers();
});
https://github.com/odetocode/odetofood