x01.SportWeb: An Example for AspNetCore 2.0
新的刚来到,旧的就忘掉。学习 AspNet Core 2.0,没有好的例子,是很痛苦的。《Pro ASP.NET Core MVC 2》中的 SportsStore值得一看,不妨下载研究一下:
准备
1. 使用 Ubuntu 系统
2. 安装 NetCore2.0
3. 安装 VSCode
4. 安装 Sqlite
开始工作
1. 新建文件夹 MvcLab,用 VSCode 打开,ALT + `,打开终端,输入命令 dotnet new sln 生成解决方案;然后输入如下命令,生成 x01.SportWeb 及其测试项目:
mkdir x01.SportWeb
cd x01.SportWeb/
dotnet new mvc --auth Individual cd ..
mkdir x01.SportTest
cd x01.SprotTest/
dotnet new xunit cd ..
dotnet sln add x01.SportWeb/x01.SportWeb.csproj
dotnet sln add x01.SportTest/x01.SportTest.csproj
2. 对照 SportsStore 的例子,亦步亦趋即可。
补充说明
1. 采用 Ubuntu,取其跨平台;--auth Individual 选项,是为用户管理作准备。
2. x01.SportTest.csproj 中,需添加对 x01.SportWeb.csproj 的引用:
<ItemGroup>
<ProjectReference Include="../x01.SportWeb/x01.SportWeb.csproj" />
</ItemGroup>
3. 在 ApplicationDbContext 添加 public DbSet<Product> Products {get; set:} 属性后,需运行如下命令:
dotnet ef migrations add AddProduct
更新 database 前需添加类 TempDbContextFactory 如下:
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design; namespace x01.SportWeb.Data
{
public class TempDbContextFactory : IDesignTimeDbContextFactory<ApplicationDbContext>
{
public ApplicationDbContext CreateDbContext(string[] args)
{
var builder = new DbContextOptionsBuilder<ApplicationDbContext>();
builder.UseSqlite("Data Source=app.db");
return new ApplicationDbContext(builder.Options);
}
}
}
手工注释 Migrations/*_AddProduct.cs 中的 AddForeignKey 部分:
// migrationBuilder.AddForeignKey(
// name: "FK_AspNetUserTokens_AspNetUsers_UserId",
// table: "AspNetUserTokens",
// column: "UserId",
// principalTable: "AspNetUsers",
// principalColumn: "Id",
// onDelete: ReferentialAction.Cascade);
运行如下命令更新 database:
dotnet ef database update
其他《Pro ASP.NET Core MVC 2》书中语之甚详,不一一复叙也。
关于 Angular
1.《Angular 5 和 AspNet Core 2》 也是不错的,学习到第六章的代码下载链接:x01.TestMakerFreeWeb
2. 在 ubuntu => vscode 中运行效果图如下:

需要安装 sqlite,npm, less 等,使用 sudo apt 或 npm install 即可。
x01.SportWeb: An Example for AspNetCore 2.0的更多相关文章
- windows 上用 docker 部署aspnetcore 2.0
首先下载docker for windows 并且 安装. 这其中需要显卡支持虚拟化 windows系统升级到专业版 bois 启用虚拟 通过vs2017 创建一个net core ap ...
- CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB
一.多样输出支持 CanalSharp.AspNetCore是一个基于CanalSharp的适用于ASP.NET Core的一个后台任务组件,它可以随着ASP.NET Core实例的启动而启动,目前采 ...
- AspnetCore 2.0
AspnetCore 2.0 本文地址 http://www.cnblogs.com/likeli/p/8204054.html 关于 API文档自动生成,用于对APP端的开发帮助文档生成,默认Pro ...
- [AspNetCore 3.0] 在RazorPages/MVC 中使用 Blazor (Razor组件)
开发环境 Vs2019 16.3.1 dotnetcore 3.0 一.开始 新建webapp项目 dotnet new webapp -o projectname 或Vs 中新建项目选择 Web应用 ...
- [AspNetCore 3.0 ] Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter 等等
一.组件 支撑Blazor的是微软的两大成熟技术,Razor模板和SignalR,两者的交汇点就是组件.通常,我们从ComponentBase派生的类型,或者创建的.razor 文件,就可以称作组件. ...
- 【开源】AspnetCore 2.0 自动API文档生成组件,支持protobuffer
本文地址 http://www.cnblogs.com/likeli/p/8204054.html 关于 API文档自动生成,用于对APP端的开发帮助文档生成,默认ProtoBuffer传输格式. 本 ...
- nginx 1.3.9/1.4.0 x86 Brute Force Remote Exploit
测试方法: 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! #nginx 1.3.9/1.4.0 x86 brute force remote exploit # copyri ...
- ASP.NET Core 2.0 in Docker on Windows Container
安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...
- docker~aspnetcore2.0镜像缺少libgdiplus问题
回到目录 对于微软官方提供的镜像microsoft/aspnetcore2.0来说,它没有安装libgdiplus包,所以当你使用了draw去画图时,就会出现一些问题,我们一般会安装第三方的包包,ZK ...
随机推荐
- iso、ios、osi的区别
ISO 国际标准化组织(International Organization for Standardization)简称ISO,是一个全球性的非政府组织,是国际标准化领域中一个十分重要的组织.IS ...
- Python文件基础操作(IO入门1)
转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...
- chrome最新版49跨域问题
chrome最新版49跨域问题 一.最新版49要用新的参数 加--user-data-dirwindows:"C:\Program Files\Google\Chrome\Applica ...
- IntelliJ IDEA常用设置(转)
IntelliJ IDEA是一款非常优秀的JAVA编辑器,初学都可会对其中的一些做法感到很别扭,刚开始用的时候我也感到很不习惯,在参考了网上一些文章后在这里把我的一些经验写出来,希望初学者能快速适应它 ...
- AngularJs 与服务器通信 $http, $q, $resource
$http服务是AngularJS系统自带的,可以用来进行网络通信.获取远程服务器的数据.要记住的是,$http是对浏览器XMLHttpRequest的封装,也就是说,它其实是Ajax. $http( ...
- iOS绘图事务的运行验证
结合WWDC,以我们的call stack为例,来说明这四个过程分别大概都做了什么. layout过程 从上面layout的过程可以看出,其所做的主要任务就是将图层调用代理(也就是视图)实现整个视图层 ...
- BZOJ1880:[SDOI2009]Elaxia的路线(最短路,拓扑排序)
Description 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间.Elaxia和w**每天都要奔波于宿舍和实验室之间, ...
- servlet入门与进阶
servlet入门与进阶 1.servlet基础认知 Servlet(Server Applet):全称Java Servlet,是用Java编写的服务器端程序,其主要功能在于交互式地浏览和修改数据, ...
- 自定义组件---图片和文字实现ImageButton效果
1.效果图 2.自定义代码: <span style="font-family:Comic Sans MS;font-size:14px;">public class ...
- 非法字符:“\ufeff”
解决方法 将编码格式UTF-8+BOM文件转为普通的UTF-8文件. 用Notepad++打开文件,将编码从UTF-8+BOM改为UTF-8