asp.net core + mysql + ef core + linux
asp.net core + mysql + ef core + linux
以前开发网站是针对windows平台,在iis上部署。由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET core来开发和部署。结果还是比较满意,整个过程如下,欢迎交流:
开发环境:
Win10
Vs2015 update3+.NET Core tools
.NET Core SDK
Mysql
运行环境:
Ubuntu 16.04
.NET Core SDK
Mysql
Nginx
开发过程
- 安装vs2015+update3;安装mysql(https://dev.mysql.com/downloads/installer/ )
- 安装 .NET core tools(https://www.microsoft.com/net/core#windowsvs2015 )
- 新建asp.net core项目



4.通过Nuget安装MySql.Data.EntityFrameworkCore,Microsoft.EntityFrameworkCore.Tools。
在project.json文件中tools配置中增加"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"



5.在appsettings.json中添加数据库连接串配置。

6.项目中新增Models文件夹,添加User.cs
7.新增Data文件夹,添加ApplicationDbContext.cs,并修改Startup.cs文件中ConfigureServices方法。

8.新增Controller类UsersController.cs
9.新增视图,Create, Delete, Details, Edit 以及Index Razor 视图文件 (Views/Users)
10.在Views\Shared文件夹下新增部分视图_ValidationScriptsPartial.cshtml
11.修改Views\Shared\_Layout.cshtml,增加<li><aasp-area="" asp-controller="Users" asp-action="Index">Users</a></li>
12.打开命令行工具,导航到项目文件夹 D:\DotNetCore\TestWebApp\src\TestWebApp
运行以下两条命令:
dotnet ef migrations add Initial
dotnet ef database update
13.发布网站项目
发布前要修改Program.cs文件:


部署过程
- 把发布的文件夹PublishOutput上传到ubuntu虚拟机上。
- 在ubuntu上安装.net core sdk (https://www.microsoft.com/net/core#linuxubuntu )
- 在ubuntu上安装配置mysql,并配置mysql不区分表明大小写,将应用数据库从windows导入到ubuntu上。
- 按照文档https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction 方法部署网站应用。
结果展示
在其他主机上访问网站,能够成功浏览网页,进行操作。




asp.net core + mysql + ef core + linux的更多相关文章
- 【ASP.NET Core】EF Core - “影子属性” 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1
[ASP.NET Core]EF Core - “影子属性” 有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点. ...
- net Core 通过 Ef Core 访问、管理Mysql
net Core 通过 Ef Core 访问.管理Mysql 本文地址:http://www.cnblogs.com/likeli/p/5910524.html 环境 dotnet Core版本:1. ...
- 一个官翻教程集合:ASP.NET Core 和 EF Core 系列教程
通过一个大学课程案例讲解了复杂实体的创建过程及讲解 1.ASP.NET Core 和 Entity Framework Core 系列教程——入门 (1 / 10) 2.ASP.NET Core 和 ...
- ASP.NET CORE 使用 EF CORE访问数据库
asp.net core通过ef core来访问数据库,这里用的是代码优先,通过迁移来同步数据库与模型. 环境:vs2017,win10,asp.net core 2.1 一.从建立asp.net c ...
- .NET 5/.NET Core使用EF Core 5连接MySQL数据库写入/读取数据示例教程
本文首发于<.NET 5/.NET Core使用EF Core 5(Entity Framework Core)连接MySQL数据库写入/读取数据示例教程> 前言 在.NET Core/. ...
- Entity Framework Core(EF Core) 最简单的入门示例
目录 概述 基于 .NET Core 的 EF Core 入门 创建新项目 更改当前目录 安装 Entity Framework Core 创建模型 创建数据库 使用模型 基于 ASP.NET Cor ...
- .net core webapi+EF Core
.net core webapi+EF Core 一.描述: EF Core必须下载.net core2.0版本 Micorsoft.EntityFrameworkCore:EF框架的核心包Micor ...
- [.NET Core] - 使用 EF Core 的 Scaffold-DbContext 脚手架命令创建 DbContext
Scaffold-DbContext 命令 参数 Scaffold-DbContext [-Connection] <String> [-Provider] <String> ...
- ASP.NET Core使用EF Core操作MySql数据库
ASP.NET Core操作MySql数据库, 这样整套环境都可以布署在Linux上 使用微软的 Microsoft.EntityFrameworkCore(2.1.4) 和MySql出的 MySql ...
随机推荐
- openwrt补丁
http://wiki.openwrt.org/doc/devel/patches 中文文档:http://andelf.diandian.com/post/2013-05-22/4005067737 ...
- leetcode[68] Climbing Stairs
n个台阶,每次可以走一步或者两步,总共有多少种走法. 第一感觉想到的是递归,n为1的时候1种,2的时候2中.其他时候就是 fun(n) = fun(n-1) + fun(n-2);递归的代码很简单.如 ...
- CSS3自适配手机屏幕[转]
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- [WebGL入门]十六,绘制多个模型
注意:文章翻译http://wgld.org/.原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外.鄙人webgl研究还不够深入.一些专业词语.假设翻译有误.欢迎大家 ...
- 再谈ORACLE CPROCD进程
罗列一下有关oprocd的知识点 oprocd是oracle在rac中引入用来fencing io的 在unix系统下,假设我们没有採用oracle之外的第三方集群软件,才会存在oprocd进程 在l ...
- iOS UIWebView键盘操控
+-------------------------+ 假设你有以下的问题,也许这篇文章将帮助你. 键盘遮盖了UIWebView. 怎样拖动UIWebView来移除键盘. 键盘出现时UIWebView ...
- 使用 ArcGIS Online和APP进行监控操作和数据采集
主要介绍的App是Operations Dashboard for ArcGIS 和 Collector for ArcGIS,它们 提高了组织内日常操作的效率.精度和响应速度. 已经购买了 ArcG ...
- glibc-2.19 之 strlen 实现
前几天遇到一个有意思的问题,实现strlen 不考虑线程安全: 下面是我的实现: size_t strlen(const char* s) { const char* p = s; while (*p ...
- C语言练习-学生信息管理系统
题目要求: 学生信息管理系统struct studentInfo{ int id; char name[128]; int age; char sex; int c_score; int cpp_sc ...
- 玩转python之字符串逐个字符或逐词反转
众所周知,python中的字符串是无法改变的,反转一个字符串自然要创建一个拷贝:最简单的方法,当然是步长为“-1”的切片: result = astring[::-1] 如果要是按单词来反转,需要三步 ...