新的刚来到,旧的就忘掉。学习 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 aptnpm install 即可。

x01.SportWeb: An Example for AspNetCore 2.0的更多相关文章

  1. windows 上用 docker 部署aspnetcore 2.0

       首先下载docker for windows 并且 安装. 这其中需要显卡支持虚拟化  windows系统升级到专业版  bois 启用虚拟   通过vs2017 创建一个net core ap ...

  2. CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB

    一.多样输出支持 CanalSharp.AspNetCore是一个基于CanalSharp的适用于ASP.NET Core的一个后台任务组件,它可以随着ASP.NET Core实例的启动而启动,目前采 ...

  3. AspnetCore 2.0

    AspnetCore 2.0 本文地址 http://www.cnblogs.com/likeli/p/8204054.html 关于 API文档自动生成,用于对APP端的开发帮助文档生成,默认Pro ...

  4. [AspNetCore 3.0] 在RazorPages/MVC 中使用 Blazor (Razor组件)

    开发环境 Vs2019 16.3.1 dotnetcore 3.0 一.开始 新建webapp项目 dotnet new webapp -o projectname 或Vs 中新建项目选择 Web应用 ...

  5. [AspNetCore 3.0 ] Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter 等等

    一.组件 支撑Blazor的是微软的两大成熟技术,Razor模板和SignalR,两者的交汇点就是组件.通常,我们从ComponentBase派生的类型,或者创建的.razor 文件,就可以称作组件. ...

  6. 【开源】AspnetCore 2.0 自动API文档生成组件,支持protobuffer

    本文地址 http://www.cnblogs.com/likeli/p/8204054.html 关于 API文档自动生成,用于对APP端的开发帮助文档生成,默认ProtoBuffer传输格式. 本 ...

  7. 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 ...

  8. ASP.NET Core 2.0 in Docker on Windows Container

    安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...

  9. docker~aspnetcore2.0镜像缺少libgdiplus问题

    回到目录 对于微软官方提供的镜像microsoft/aspnetcore2.0来说,它没有安装libgdiplus包,所以当你使用了draw去画图时,就会出现一些问题,我们一般会安装第三方的包包,ZK ...

随机推荐

  1. [翻译] LazyFadeInView 渐入显示text文本

    LazyFadeInView 渐入显示text文本 https://github.com/itouch2/LazyFadeInView LazyFadeInView is a cool way to ...

  2. 月报 提取/保存 到OneDrive. 并发送反馈邮件

  3. 【RabbitMQ】4、三种Exchange模式——订阅、路由、通配符模式

    前两篇博客介绍了两种队列模式,这篇博客介绍订阅.路由和通配符模式,之所以放在一起介绍,是因为这三种模式都是用了Exchange交换机,消息没有直接发送到队列,而是发送到了交换机,经过队列绑定交换机到达 ...

  4. 51nod 1967路径定向(dfs、欧拉回路)

    1967 路径定向 基准时间限制:1.2 秒 空间限制:262144 KB 分值: 80 难度:5级算法题 给出一个有向图,要求给每条边重定向,使得定向后出度等于入度的点最多,输出答案和任意一种方案 ...

  5. ApplicationEventMulticaster接口笔记

    ApplicationEventMulticaster 这个接口可以管理很多个ApplicationListener对象.并将事件发布给这些监听器. ApplicationEventPublisher ...

  6. freemarker模板加载TemplateLoader常见方式

    使用过freemarker的肯定其见过如下情况: java.io.FileNotFoundException: Template xxx.ftl not found. 模板找不到.可能你会认为我明明指 ...

  7. 马克飞象markdown用法

    目录 markdown用法 ### 根据标题生成目录 `` 快捷键 ctrl+k 代码区域 ctrl+2 二级标题 ctrl+b/i 粗体/斜体 ctrl+l 插入链接 ctrl+g 插入图片 ctr ...

  8. sql语句查询知识点

    LEFT JOIN    关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行 INNER JOIN   INNER JOIN 关键字在表中存在至少一个匹 ...

  9. Spring@PostConstruct注解和构造方法的调用顺序

    先看下@PostConstruct的注解 * The PostConstruct annotation is used on a method that needs to be executed * ...

  10. H.264的码率控制:CBR和VBR

    CBR: Constants Bits Rate, 静态比特率. 比特率在流的进行过程中基本保持恒定并且接近目标比特率,当对复杂内容编码时质量会下降. 在流式播放方案中使用CBR编码最为有效;优点是带 ...