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