操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题)。

project.json 代码:

{

"version": "1.0.0-*",

"buildOptions": {

"emitEntryPoint": true

},

"dependencies": {

"Microsoft.NETCore.App": {

"type": "platform",

"version": "1.0.1"

},

"Dapper": "1.50.2",

"MySql.Data": "7.0.6-IR31"

},

"frameworks": {

"netcoreapp1.0": {

"imports": "dnxcore50"

}

}

}

测试数据库脚本:

CREATE TABLE `products` (

`ProductID` int(11) NOT NULL AUTO_INCREMENT,

`Name` varchar(255) DEFAULT NULL,

`Quantity` int(11) DEFAULT NULL,

`Price` int(11) DEFAULT NULL,

PRIMARY KEY (`ProductID`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=gbk;

Product 代码:

public class Product

{

[Key]

public int ProductId { get; set; }

public string Name { get; set; }

public int Quantity { get; set; }

public double Price { get; set; }

}

ProductRepository 代码(数据访问操作):

public class ProductRepository

{

private string connectionString;

public ProductRepository()

{

connectionString = @"server=localhost;database=dapperdemo;uid=root;pwd=123456;";

}

public IDbConnection Connection

{

get

{

return new MySqlConnection(connectionString);

}

}

public void Add(Product prod)

{

using (IDbConnection dbConnection = Connection)

{

string sQuery = "INSERT INTO Products (Name, Quantity, Price)"

+ " VALUES(@Name, @Quantity, @Price)";

dbConnection.Open();

dbConnection.Execute(sQuery, prod);

}

}

public IEnumerable GetAll()

{

using (IDbConnection dbConnection = Connection)

{

dbConnection.Open();

return dbConnection.Query("SELECT * FROM Products");

}

}

public Product GetByID(int id)

{

using (IDbConnection dbConnection = Connection)

{

string sQuery = "SELECT * FROM Products"

+ " WHERE ProductId = @Id";

dbConnection.Open();

return dbConnection.Query(sQuery, new { Id = id }).FirstOrDefault();

}

}

public void Delete(int id)

{

using (IDbConnection dbConnection = Connection)

{

string sQuery = "DELETE FROM Products"

+ " WHERE ProductId = @Id";

dbConnection.Open();

dbConnection.Execute(sQuery, new { Id = id });

}

}

public void Update(Product prod)

{

using (IDbConnection dbConnection = Connection)

{

string sQuery = "UPDATE Products SET Name = @Name,"

+ " Quantity = @Quantity, Price= @Price"

+ " WHERE ProductId = @ProductId";

dbConnection.Open();

dbConnection.Execute(sQuery, prod);

}

}

public void TransactionTest()

{

using (IDbConnection dbConnection = Connection)

{

string sQuery = "UPDATE Products SET Name = 'xishuai222'"

+ " WHERE ProductId = 1";

dbConnection.Open();

using (var transaction = dbConnection.BeginTransaction())

{

dbConnection.Execute(sQuery);

///to do throw exception

transaction.Commit();

}

}

}

}

调用代码:

public class Program

{

public static void Main(string[] args)

{

var productRepository = new ProductRepository();

var product = new Product() { Name = "xishuai" };

productRepository.Add(product);

var products = productRepository.GetAll();

foreach (var item in products)

{

Console.WriteLine($"id: {item.ProductId}; name: {item.Name}");

}

productRepository.TransactionTest();

Console.ReadKey();

}

}

参考资料:

asp.net mysql 事务_ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)相关推荐

  1. netcore dapper mysql_.NET Core Dapper操作mysql数据库

    前言 现在ORM盛行,市面上已经出现了N款不同的ORM套餐了.今天,我们不谈EF,也不聊神马黑马,就说说 Dapper.如何在.NET Core中使用Dapper操作Mysql数据库呢,让我们跟随镜头 ...

  2. dapper mysql_.NET Core Dapper操作mysql数据库

    .NET Core Dapper操作mysql数据库 发布时间:2019-04-25 19:48, 浏览次数:744 , 标签: NET Core Dapper mysql 前言 现在ORM盛行,市面 ...

  3. dapper mysql_.NET Core Dapper操作mysql数据库的实现方法

    前言 现在ORM盛行,市面上已经出现了N款不同的ORM套餐了.今天,我们不谈EF,也不聊神马黑马,就说说 Dapper.如何在.NET Core中使用Dapper操作Mysql数据库呢,让我们跟随镜头 ...

  4. .net core 1.1 mysql_Asp.net Core 1.1 升级后操作mysql出错的解决办法

    这篇文章主要介绍了Asp.net Core 1.1 升级后操作mysql出错的解决办法,需要的朋友可以参考下 遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到Miss ...

  5. .NET Core 使用Dapper 操作MySQL

    MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html .NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使 ...

  6. python mysql工具类_Python工具类(一)—— 操作Mysql数据库

    如何调用直接看__main__函数里如何调用此工具类就阔以啦! # encoding=utf-8 import pymysql # 导入所有Mysql配置常量,请自行指定文件 from conf.se ...

  7. asp网上书店系统_Asp.net Core启动流程讲解(一)

    asp.net core默认项目包括 项目根目录级的Startup.cs.Program.cs.appsettings.json(appsettings.Development.json) launc ...

  8. asp 取数据 计算_ASP.NET Core 简介

    .NET Core 是 .NET Framework 的新一代版本,是微软开发的第一个具有跨平台 ( Windows.Mac OSX .Linux ) 能力的应用程序开发框 http://ASP.NE ...

  9. asp ado 连接测试_ASP.NET Core 简介

    .NET Core 是 .NET Framework 的新一代版本,是微软开发的第一个具有跨平台 ( Windows.Mac OSX .Linux ) 能力的应用程序开发框 http://ASP.NE ...

最新文章

  1. ad16自动布线设置规则_PCB设计的十大误区——那些年,我们一起遵守的规则
  2. Bigtable数据模型和架构
  3. 字符编码解码整合工具
  4. ipa 上传卡在鉴权_解决App Store上传ipa卡在Authenticating with App Store的问题
  5. Hibernate关联映射(一对多/多对多)
  6. 数据结构上机实践第四周项目6- 循环双链表应用
  7. ConceptDraw Office for mac(跨平台图表办公程序)
  8. 容器技术Docker K8s 43 Serverless Kubernetes(ASK)详解-ASK网络、存储、日志、监控管理
  9. 互联网未来十年发展趋势
  10. C++11版本后的一写新语法及使用方法for、vector、map
  11. linux怎么运行quartus,如何安裝Linux版本的Quartus II
  12. Java解析OpenDrive,OpenDrive格式解析
  13. 非线性激励函数sigmoid,tanh,softplus,Relu
  14. PAT(乙级)2022年夏季考试
  15. opencv:对`cv :: DescriptorMatcher‘的未定义引用
  16. 存储系统——主存储器
  17. ColorPicker一款安卓取色器,模仿ps取色板
  18. 牛客-直角三棱锥(公式推导)
  19. 观李筱懿视频号有感:不要让所谓的大度变成对自己的道德绑架
  20. 法规标准-UN R152标准解读

热门文章

  1. Karp 21个规约问题 笔记 (1~13个规约问题)
  2. statsmodels 笔记:自回归模型 AutoReg
  3. pytorch实现简易分类模型
  4. MATLAB处理txt文本文件---数据格式要有规律性,否则要用编写特定方式进行读取
  5. windows安装anaconda_[计算机科学工具系列] Anaconda和conda
  6. python gil锁_python中的GIL锁
  7. python3-matplotlib库简单入门
  8. QT判断多级目录是否存在,不存在就创建
  9. 如何基于Redis Replication设计并实现Redis-replicator?
  10. spring bean生命周期管理--转