abp mysql .net core_ABP Asp.Net Core 集成 MySql 数据库

ASP.NET Boilerplate(简称ABP)是.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用。官方文档:http://www.aspnetboilerplate.com/Pages/Documents

ABP+EF+SQL Server是比较推荐的组合,由于使用的是EF,那么也就意味着我们可以采用其他的数据库,比如MySQL、MariaDB

操作步骤:

Download Starter Template 下载开始模板

Download the starter template with ASP.NET Core and Entity Framework Core to integrate MySQL. Multi-page template with ASP.NET Core 2.x + .NET Core Framework + Authentication will be explained in this document.

下载 ASP.NET Core 和  Entity Framework Core 的模板用于集成 MySQL。这里使用的是多页面模板 ASP.NET Core 2.x + .NET Core Framework

Getting Started 开始

There are two Entity Framework Core providers for MySQL that are mentioned in the Micrososft Docs. One of them is the Official MySQL EF Core Database Provider and the other is Pomelo EF Core Database Provider for MySQL.

NOTE: The official provider doesn’t support EF Core 2.0 just yet, so the Pomelo EF Core Database Provider will be used in this example, instead.

Related issue: https://github.com/aspnet/EntityFrameworkCore/issues/10065#issuecomment-336495475

微软文档里提到了两个MySQL的Entity Framework Core类库。一个是官方的MySql.Data.EntityFrameworkCore,另一个是Pomelo EF Core Database Provider for MySQL。

注:由于官方的目前还不支持EF Core 2.0 ,所以本例中使用的是 Pomelo EF Core Database Provider for MySQL 。相关问题的讨论:https://github.com/aspnet/EntityFrameworkCore/issues/10065#issuecomment-336495475

Install 安装

Install the Pomelo.EntityFrameworkCore.MySql NuGet package to the *.EntityFrameworkCore project.

为 *.EntityFrameworkCore 项目 安装 NuGet 包 : Pomelo.EntityFrameworkCore.MySql

Configuration 配置

Configure DbContext 配置 DbContext

Replace YourProjectNameDbContextConfigurer.cs with the following lines

使用如下代码 替换文件 YourProjectNameDbContextConfigurer.cs 内容

public static class MySqlDemoDbContextConfigurer

{

//CopyRight codebye.com

public static void Configure(DbContextOptionsBuilder builder, string connectionString)

{

builder.UseMySql(connectionString);

}

//CopyRight codebye.com

public static void Configure(DbContextOptionsBuilder builder, DbConnection connection)

{

builder.UseMySql(connection);

}

}

Some configuration and workarounds are needed to use MySQL with ASP.NET Core and Entity Framework Core.

一些配置和工作环境 需要使用 MySQL

Configure connection string 配置连接字符串

Change the connection string to your MySQL connection in *.Web.Mvc/appsettings.json. Example:

修改 *.Web.Mvc/appsettings.json 文件中的连接字符串,使用MySQL连接字符串。例如:

{

"ConnectionStrings": {

"Default": "server=codebye.com;uid=root;pwd=codebye.com;database=codebyedb"

},

CopyRight codebye.com ...

}

A workaround

To prevent EF Core from calling Program.BuildWebHost() rename BuildWebHost. For example, change it to InitWebHost. To understand why it needs to be renamed, check the following issues:

为了阻止 EF Core 调用 Program.BuildWebHost() ,需要重命名 BuildWebHost 。例如,改为 InitWebHost 。关于为何需要重命名,可以查看下面的问题讨论:

Create Database 创建数据库

Remove all migration classes under *.EntityFrameworkCore/Migrations folder. Because Pomelo.EntityFrameworkCore.MySql will add some of its own configurations to work with Entity Framework Core.

Now it’s ready to build the database.

Select *.Web.Mvc as the startup project.

Open Package Manager Console and select the *.EntityFrameworkCore project.

Run the add-migration Initial_Migration command

Run the update-database command

删除*.EntityFrameworkCore/Migrations 文件夹下的所有迁移文件。因为  Pomelo.EntityFrameworkCore.MySql 将添加它自己的配置。

现在已经准备好构建数据库。

将  *.Web.Mvc  设置为启动项目

打开 程序包管理器控制台 ,选择 *.EntityFrameworkCore 项目。

执行 命令 add-migration Initial_Migration

运行  update-database 命令

The MySQL integration is now complete. You can now run your project with MySQL.

到这里,MySQL集成已经完成。你可以在MySQL环境下运行你的项目了。CodeBye 原创,转载请注明链接出处。谢谢。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明ABP Asp.Net Core 集成 MySql 数据库!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jboss mysql驱动目录_找不到mysql.jdbc.Driver – MySQL,JBoss

我无法将我的Web应用程序与MySQL 5.5.11后端部署到JBoss 5.我收到此错误:引起:java.lang.ClassNotFoundException:来自BaseClassLoader 262b2310的com.mysql.jdbc.Driver我在下面粘贴了我的堆栈跟踪.这就是我所做的……我将mysql-connector-…

mysql-5.1.73-8.el6_在centos中安装mysql详细步骤说明

Last login: Sun Dec 24 04:55:59 20171、安装依赖[rootnode001 ~]# yum install -y perlLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfilebase | 3.7 kB 00:00extras | 3.4 kB 00:00updates | 3.4 kB 00:00Setting up Install ProcessPackage 4:perl…

mysql视图存储_Mysql 视图、存储过程以及权限控制

导读:该文章为视图、存储过程、用户权限练习;如果有不对的地方欢迎指出与补充;该基础练习基于MySQL5.0以上;语句格式:1. 视图格式:create view view_name[列名,列名.....] as select 子查询 wit…

21天学MySQL_SQL21天自学通.pdf

SQL21天自学通SQL 21 日自学通(V1.0) 翻译人 笨猪目录目录 1译者的话 14第一周概貌 16从这里开始 16第一天 SQL 简介 17SQL 简史 17数据库简史 17设计数据库的结构 21SQL 总览 23流行的SQL 开发工具 24SQL 在编程中的应用 27第二天 查询— — SELECT 语句的使用 30目标 30背景 …

lte盲重定向_LTE重选、切换、重定向的区别

【资料名称】:LTE重选、切换、重定向的区别【资料作者】:A【资料日期】:20150916【资料语言】:中文【资料格式】:DOC/DOCX【资料目录和简介】:这里主要简单阐述了LTE系统的小区重选、切换、重定向的区别小区…

冯乐乐 unity_Unity常用矩阵运算的推导补遗——切线空间

在上一篇文章中,我写了一些关于Unity中各个坐标空间及其转换矩阵是如何得到的,说实在的,我是那种“记忆需要依靠外部装置存储”类、如同《攻壳机动队》的电子脑一样的人,每次遇到问题了再去对着笔记慢慢翻找才是我的风格&#xff…

mysql 字段类型设计_Mysql字段类型设计相关问题!-阿里云开发者社区

Mysql是以文件存储在我们的系统的硬盘上面,那么(1)当我们读取写入的时候就会有磁盘IO的问题(2)当我们存储的数据是以页单位存储,而且每页的大小是16K,那么我们要尽可能的让我们的一页数据存放的更多。表结构宽度不要太大,也就是列…

mysql保存时乱码了_MySQL保存中文乱码的原因和解决办法

(3)MySQL的字符集设置。这个是重点了,一般都是在这里搞错而出现了mysql乱码。mysql编码设置可以分为三种设置:数据库的编码、表的编码、和字段的编码。a、数据库的编码:在sqlyog工具中操作把,右击数据库点击更改数据库&#xff0c…

mysql字符串语法_MySQL语法模板 函数:字符串

返回字符串的ASCII码ascii(str)返回字符串的二进制码bin(n)字符串的位数bit_length(str)字符串的字符数char(n,... [using charset])字符串的字符数character_length(str)字符串的字符数char_length(str)压缩函数compress(string_to_compress)进制转换conv(n,from_base,to_base…

python中convert函数用法_Python Pandas DataFrame.tz_convert用法及代码示例

Pandas DataFrame是带有标签轴(行和列)的二维大小可变的,可能是异构的表格数据结构。算术运算在行和列标签上对齐。可以将其视为Series对象的dict-like容器。这是 Pandas 的主要数据结构。Pandas DataFrame.tz_convert()用于将tz-aware轴转换为目标时区。用法&#…

ubuntu mysql支持中文_ubuntu (16.04) server 英文原版 添加中文语言支持 消除java 程序、mysql 数据库不能处理中文的错误...

ubuntu 16.04对于腾讯云主机要添加源,因为腾讯云主机(CVM)的源库中包很少文件/etc/apt/sources.list是一个普通可编辑的文本文件,保存了ubuntu软件更新的源服务器的地址。和sources.list功能一样的是/etc/apt/sources.list.d/*.list(*代表一个文件名&…

python偶数个数_python基础

标识符命名规则开发中,通常约定俗称遵守如下规则:删除变量和垃圾回收机制可以通过del语句删除不在使用的变量a 123 del a #删除了栈,没有删除堆链式赋值xy123 相当于 x123;y123系列解包赋值系列数据赋值给对应相同…

keyshot怎么让物体发光_户外发光字的防水措施怎么做,不亮了怎么修。

户外发光字的防水措施与维修发光字大多是安装在户外的,因此会受到热晒、雨淋、寒冻等因素的影响,这些因素都会加速LED发光字的老化,从而使LED发光字进水老化。那么,该怎么防止这种情况呢?一、在每个广告字的笔画的最下方&#xf…

linux mysql 确认命令_LINUX启动/重启/停上MYSQL的命令(详解)

如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld st…

mysql删除员工_数据库删除职工信息

《数据库技术原理与应用教程第2版》——1.4数据管理本节书摘来自华章出版社《数据库技术原理与应用教程第2版》一书中的第1章,第1.4节,作者 徐洁磐 操凤萍  ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。1.4数据管理人类社会有着…

mysql和ORTHOMCL_Orthomcl的详细使用

参考了众多文章并结合实际操作后的感想。Orthomcl需要的linux详细配置,简单叙述。系统:unixBLASTDatabase:oracle 或 mysql内存4G,硬盘100Gperl: DBI module 和 DBD-mysqlMCL程序详细操作过程及需要注意的点:1.数据库安…

手撕包菜 mysql_手撕包菜搭建

概述最近做了两件事,一件事就是买了块1t硬盘,第二件事就是买了个百度云会员,无奈找不到资源下载,那就没办法了,搭建一个磁力链接搜索引擎来爬去链接,然后去找资源。说道磁力链接搜索引擎,最好的…

word流程图怎么使箭头对齐_word 流程图 怎么把箭头对整齐啊?

word里画流程图把箭bai头画直du,可通过shift键实现画出zhi垂直或水平的直箭头。方法步dao骤如下:回1、打开需要答操作的WORD文档,选中需要画出箭头的流程图框图,点解绘图工具中的“排列对齐”,然后选中“左右居中”对齐。2、在插入形状中找到并点击箭头,使用箭头形状工具…

java 多线程同步_详解Java多线程编程中的线程同步方法

1、多线程的同步:1.1、同步机制:在多线程中,可能有多个线程试图访问一个有限的资源,必须预防这种情况的发生。所以引入了同步机制:在线程使用一个资源时为其加锁,这样其他的线程便不能访问那个资源了&#…

java商品管理系统_【Java Web】简易商品信息管理系统——首个Web项目

正文之前在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统目前项目源码已全部上传至GitHub,欢迎大家来fork —— 商品信息管理系统正文…