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 Code)也可以檢測.NET Core項目,並自動添加支持以從VS代碼菜單中構建和運行。
當您更改源代碼文件時,VS使用一些魔術自動重新啟動Web服務器。如果您使用命令行工具,則可以使用以下方式執行相同的操作:
dotnet watch run
...而不是...
dotnet run
您可以使用dotnet創建類庫。將其放置在與Odetofood項目相同的文件夾級別上。
dotnet new classlib
Bootstrap 4更改了一些課程,不再包括字形。字體很棒是一個很好的替代品。一旦將字體Awesome Stylesheet包含在帶有鏈接標籤的_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不再提供圖標。有關更多信息,請參見文檔。字體很棒是一個很好的替代品。
您需要安裝Nuget軟件包dotnet-eprnet-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用戶,您可能還需要引用您可以從UI中使用的Codegeneration工具。在項目目錄中運行以下命令:
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet restore
這將使您可以右鍵單擊該項目並運行腳手架。 s
如果您使用Visual Studio for Mac在課程中移動,請參見Mac上的SQL Server。來自用戶數據庫:
安裝後,請記下您的數據庫用戶名(通常是“ SA”)和密碼。
它非常順利。我正在使用DBBEAVER,這也在上面的文章中進行了解釋,我發現它很棒。
在這裡的Scott類之後,他在
appsettings.json中將數據庫連接字符串設置為Windows的本地DB實例,您可以只使用此連接字符串:
"ConnectionStrings" : {
"OdeToFoodDb" : " Server=localhost,1433;Database=OdeToFood;User Id=sa; Password=your-password "
},然後將“ your-password”替換為您在Docker容器中安裝SQL Server映像時選擇的真實密碼。
這是非常簡單且流暢的體驗。
從3.0開始,Dotnet EF命令行工具不再包含在.NET Core SDK中。在執行EF Core遷移或腳手架命令之前,您必須將此軟件包作為全局或本地工具安裝。要安裝最新版本作為全局工具,請使用以下命令:
dotnet tool install --global dotnet-ef
如果您不使用Visual Studio,則此剪輯中顯示的腳手架是您也可以使用模塊3中討論的dotnet-aspnet-codegenerator工具來實現的。該命令看起來像:
dotnet aspnet-codegenerator controller -api -name RestaurantsController
--model OdeToFood.Core.Restaurant --dataContext OdeToFood.Data.OdeToFoodDbContext
注意-api開關使用單個破折號。
在ASP.NET Core 3.0+中,您可以引入精細的粒度服務以支持剃須刀頁面和控制器。您無需帶來整個MVC框架。例如,要使用Razor Pages和API控制器,您需要在ConfigureServices of Startup.cs中使用以下兩個方法調用。
// for aspnetcore3.0+
services.AddRazorPages();
services.AddControllers();
路由也有些不同,在3.0中更顆粒狀。您需要在3.x的Startup.cs中的Configure方法底部的以下代碼:
app.UseRouting();
app.UseEndpoints(e =>
{
e.MapRazorPages();
e.MapControllers();
});
https://github.com/odetocode/odetofood