背景介绍

本文将会示范如何在Windows系统下基于ASP.NET Core构建跨平台服务,并通过Docker容器运行发布。 首先说一下为什么选择这一套组合: 我本人和我们Code4Thought团队关注一切具备生产力的技术和工具,话说有所了解才有所选择,DotNet技术发展趋势也值得我们关注和支持。基于DotNot Core我们可以构建跨平台服务,结合Entity Framework Core(微软强大的ORM),MYSQL(免费),Docker(方便移植),Visual Studio 2015(宇宙最强IDE)这一系列技术和工具,不管从商业成本,可移植性,还是生产效率上,都具备很强的诱惑力。

开发环境
创建项目

1,创建ASP.NET Core,可以通过.Net Core SDK提供的命令创建,当然在Windows环境下最佳选择还是宇宙最强IDE:Visual Studio,本文使用2015 Update3 版本:

Windows下构建ASP.NET Core+Code First+Docker

选择Web 应用程序,创建成功后,VS会自动执行 dotnet restore 自动还原project.json 中的依赖项,项目结构如下:

Windows下构建ASP.NET Core+Code First+Docker

介绍几个变化项:

project.json:类似JAVA世界的Maven,管理了程序的依赖项,包括程序集,工具,配置等。

Program.cs:跟JAVA世界还是很像,程序会找到其中的Main方法做为启动入口,模板代码是通过微软Microsoft.AspNetCore.Hosting 自托管当前Web程序。

Startup.cs:初始化应用程序服务,全局配置,服务注入等。

wwwroot:前端项目文件。

NuGet获取依赖项

通过Nuget命令行或管理工具,获取项目所需依赖程序集和工具:

  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Tools (还需要添加到tools内,后续需要使用Migrations命令)
  • SapientGuardian.EntityFrameworkCore.MySql  或者 MySql.Data.EntityFrameworkCore(官方推荐的尚未发布正式版,https://docs.efproject.net/en/latest/providers/index.html)

Windows下构建ASP.NET Core+Code First+Docker

Get成功之后,project.json如下:

Windows下构建ASP.NET Core+Code First+Docker

 

Code First尝试

下面我们使用Entity Framework Core试用Code First模式,结合领域驱动设计,快速构建领域模型,假设建模后的模型包含 “用户“”和“物品“两个实体,当然这种开发模式可以充分利用面向对象的设计理念,比如领域模型通过继承获取一些系统属性:BaseEntity

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Threading.Tasks;
 5 
 6 namespace WebApplication2.Domain.Model
 7 {
 8     public class BaseEntity
 9     {
10 
11         public int Id { get; set; }
12 
13         public DateTime CreateTime { get; set; }
14 
15         public DateTime UpdateTime { get; set; }
16 
17     }
18 }
View Code

相关文章:

  • 2021-10-28
  • 2021-05-24
  • 2022-12-23
  • 2022-02-19
  • 2021-09-01
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2018-12-13
  • 2021-06-10
  • 2022-12-23
  • 2021-11-07
相关资源
相似解决方案