DotnetCore之旅(4-1)---使用EF操作Mysql数据库

首先、创建数据库并创建对应的表

 1 CREATE TABLE `managementaccount` (
 2   `Id` char(36) NOT NULL COMMENT ‘id‘,
 3   `Email` varchar(150) DEFAULT NULL COMMENT ‘邮箱‘,
 4   `Name` varchar(150) DEFAULT NULL COMMENT ‘名称‘,
 5   `Password` varchar(150) DEFAULT NULL COMMENT ‘密码‘,
 6   `Amount` decimal(10,0) DEFAULT NULL COMMENT ‘金额‘,
 7   `Created` datetime DEFAULT NULL COMMENT ‘创建时间‘,
 8   `LastModified` datetime DEFAULT NULL COMMENT ‘最近更新时间‘,
 9   PRIMARY KEY (`Id`)
10 )

第二步,创建数据访问程序集

1、创建成功后通过nuget引用MySql.Data.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.Tools

2、配置数据库连接

1 {
2   "ConnectionStrings": {
3     "OrderSystemConnectionString": "Server=127.0.0.1;DataBase=OrderSystem;User Id=root;password=123456"
4   },
5
6   "AllowedHosts": "*"
7 }

3、创建实体以及数据库访问类

实体

 1    /// <summary>
 2     ///
 3     /// </summary>
 4     public class ManagementAccount
 5     {
 6         /// <summary>
 7         ///
 8         /// </summary>
 9         public string Id { get; set; }
10         /// <summary>
11         ///
12         /// </summary>
13         public string Email { get; set; }
14         /// <summary>
15         ///
16         /// </summary>
17         public string Name { get; set; }
18         /// <summary>
19         ///
20         /// </summary>
21         public string Password { get; set; }
22         /// <summary>
23         ///
24         /// </summary>
25         public decimal Amount { get; set; }
26         /// <summary>
27         ///
28         /// </summary>
29         public DateTime Created { get; set; }
30         /// <summary>
31         ///
32         /// </summary>
33         public DateTime LastModified { get; set; }
34     }

数据访问类:

   /// <summary>
    /// 訂單數據庫訪問類
    /// </summary>
    public class OrderSystemContainer : DbContext
    {
        private string _ConnectionStringName = "OrderSystemConnectionString";
        public OrderSystemContainer()
        {
            //  Database.EnsureCreated();  //确保数据库已生成(存在)
        }
        /// <summary>
        /// 配置
        /// </summary>
        /// <param name="optionsBuilder"></param>
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            string connectionString = ConfigSetting.GetConnectionString(_ConnectionStringName);
            optionsBuilder.UseMySQL(connectionString);
            base.OnConfiguring(optionsBuilder);
        }

        #region Entity
        public virtual DbSet<ManagementAccount> ManagementAccount { get; set; }
        #endregion
    }

最后,创建api并进行测试

 1         /// <summary>
 2         /// 创建賬號
 3         /// </summary>
 4         [HttpPost("CreateManagementAccount")]
 5         public ResponseDto<string> CreateManagementAccount(CreateManagementAccountDto dto)
 6         {
 7             ResponseDto<string> response = new ResponseDto<string>()
 8             {
 9                 code = ResultFlagEnum.failure.ToString(),
10             };
11             try
12             {
13                 using (OrderSystemContainer context = new OrderSystemContainer())
14                 {
15                     context.ManagementAccount.Add(new ManagementAccount()
16                     {
17                         Id = Guid.NewGuid().ToString(),
18                         Amount = dto.amount,
19                         Created = DateTime.Now,
20                         LastModified = DateTime.Now,
21                         Email = dto.email,
22                         Name = dto.name,
23                         Password = Md5EncryptHelper.Md5Encrypt(dto.password),
24                     });
25                     context.SaveChanges();
26                     response.code = ResultFlagEnum.success.ToString();
27                     response.message = ResultFlagEnum.success.ToString();
28                     return response;
29                 }
30             }
31             catch (Exception ex)
32             {
33                 //TODO writeLog
34                 response.message = "异常:" + ex.Message;
35                 return response;
36             }
37         }

创建账号参数类

 1  /// <summary>
 2     /// 創建賬號入參
 3     /// </summary>
 4     public class CreateManagementAccountDto
 5     {
 6         /// <summary>
 7         ///
 8         /// </summary>
 9         public string email { get; set; }
10         /// <summary>
11         ///
12         /// </summary>
13         public string name { get; set; }
14         /// <summary>
15         ///
16         /// </summary>
17         public string password { get; set; }
18         /// <summary>
19         ///
20         /// </summary>
21         public decimal amount { get; set; }
22     }

附,md5加密类

 1     public class Md5EncryptHelper
 2     {
 3         public static string Md5Encrypt(string text)
 4         {
 5             MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
 6             byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(text));
 7             StringBuilder sbResult = new StringBuilder();
 8             for (int i = 0; i < data.Length; i++)
 9             {
10                 sbResult.Append(data[i].ToString("x2"));
11             }
12             return sbResult.ToString();
13         }
14     }

原文地址:https://www.cnblogs.com/johnyong/p/10920773.html

时间: 2024-10-09 04:55:21

DotnetCore之旅(4-1)---使用EF操作Mysql数据库的相关文章

golang学习之旅:使用go语言操作mysql数据库

1.下载并导入数据库驱动包 官方不提供实现,先下载第三方的实现,点击这里查看各种各样的实现版本.这里选择了Go-MySQL-Driver这个实现.地址是:https://github.com/go-sql-driver/mysql/. 然后按照里面的说明下载驱动包: $ go get github.com/go-sql-driver/mysql 最后导入包即可: import "database/sql" import _ "github.com/go-sql-driver/

[PHP]PHP编程操作Mysql数据库的三种方式

当我开始去接触PHP的时候,真切的感受到其所具有的魅力,本着学习的态度和打破固有的语言和模式的想法,开始了PHP之旅,总的来说,走的还是比较顺利,在其中能够看到C,Java,Perl影子,学习曲线不大,但是做好产品仍然有着一条漫漫长路. 多余的话不说了,慢慢感受和领悟,本文主要讲述PHP操作数据库的三种扩展. 如下图是PHP访问数据库的三种扩展方式: 下面举出三种方式访问数据库并查询数据的实例代码: 1.mysql扩展 <?php //1:获取数据库连接 $connection = @ mysq

python操作mysql数据库

连接数据库 输入值 存入数据库 关闭 import string import mysql.connector conn=mysql.connector.connect(user='root',password='test',database='dalian',use_unicode=True) cursor=conn.cursor() a=raw_input('enter an id: ') b=raw_input('enter a name: ') while(a!='quit' or b!

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector-python 是MySQL官方的Python驱动 https://dev.mysql.com/doc/connector-python/en/ 安装: pip install mysql-connector 示例代码: https://github.com/mike-zhang/pyExample

【php】php操作MySQL数据库

一.操作步骤: 1. 连接MySQL数据库并判断是否连接成功2. 选择数据库3. 设置字符集4. 准备SQL语句5. 向MySQL服务发送SQL语句6. 解析处理结果集7. 释放结果集,关闭数据库连接 二.常用操作: 1. mysqli_connect();--连接数据库,并返回一个连接资源 格式: mysql_connect(主机名,用户,密码); --其中参数可选,若不写则参考php.ini中默认配置 2. mysqli_error(); --获取刚刚(最后)执行数据库操作的错误信息 3.

python3操作MySQL数据库

安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursors # ======== Setting linked test databases =========== host = '192.168.17.123' user = 'root' password = '123456' db='polls' # ======== MySql base oper

c语言操作mysql数据库

c语言操作Mysql数据库,主要就是为了实现对数据库的增.删.改.查等操作,操作之前,得先连接数据库啊,而连接数据库主要有两种方法.一.使用mysql本身提供的API,在mysql的安装目录中可可以看到大量的头文件.lib文件.dll文件,这说明mysql原生就支持了c语言,操作起来相当简单.二.使用win32 api(这里只探讨windows平台),主要是ODBC. ODBC API 接口是(Open Database Connectivity)开放式数据库接口,它建立了一组规范,并提供了一组

PHP操作MySQL数据库的相关函数

首先,要分清SQL语句的类型: SQL语句的分类 (1)DDL:Data Define Language,数据定义语言--定义表的列结构 CREATE.DROP.ALTER.TRUNCATE (2)DML:Data Manipulate Language,数据操作语言--操作表的记录行 INSERT.DELETE.UPDATE (3)DQL:Data Query Language,数据查询语言--不影响表的行和列 SELECT (4)DCL:Data Control Language,数据控制语