ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

时间:2022-05-03 00:27:20

  之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据。本章将介绍如何使用My SQL来完成数据管理。
  在使用My SQL之前需确保开发环境中安装了My SQL数据库和Connector/Net,后者是一个用C#编写的ADO.NET数据提供器,换句话说无论使用SQL Server还是My SQL,ASP.NET都是通过ADO.NET来访问、操作数据库的,它们唯一的区别是数据提供器,所以连接My SQL仍然需要使用System.Data.dll中的类型,以下是之前文章所介绍的:

 ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  唯一不同的是My SQL的ADO.NET数据提供器是需要安装Connector/Net。

  本文通过以下两点来介绍如何在ASP.NET中使用My SQL数据库:

  ●安装My SQL和Connector/NET
  ●为My SQL创建一个新的仓储项目

安装My SQL和Connector/NET

  Connector/NET下载地址: https://dev.mysql.com/downloads/windows/installer/
  MySQL下载地址(安装时可以直接选择是否安装Connector/NET): https://dev.mysql.com/downloads/mysql/

  完成后添加数据表与数据:

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

 

为My SQL创建一个新的仓储项目

  为其创建一个新的项目原因是让SQL Server与My SQL共存,二者不会互相影响,到后期可以通过简单的修改来切换使用的数据库的目的。

  1. 创建一个新的类库项目BlogRepository.MySQL,并引用Mysql.Data(注:Mysql.Data需要安装Connector/NET):

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  2. 使用执行SQL的方式实现一个BlogRepository:

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  与SQL Server的代码对比,只有对象名称、SQL以及连接字符串存在差异。

  3. 变更逻辑层的引用,使用BlogRepository.MySQL,并修改错误的命名空间:

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  4. 运行程序:

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

  ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL 

小结

  本章介绍了如何在ASP.NET中使用MySQL数据库,它的使用方式与SQL Server基本相同,只需要安装连接My SQL需要的组件即可。另外需要注意的一个问题是,现在在整个解决方案中分别有BlogRepository以及BlogRepository.MySQL两个仓储类库,分别对于SQL Server和My SQL但是逻辑层只有一个,这就意味着每次更换数据库业务逻辑库不仅要更换引用,还要修改代码。这就是典型的依赖实现而没有依赖抽象的问题。这个问题会在后续介绍解决方法。

 

参考:

  https://dev.mysql.com/doc/connector-net/en/connector-net-programming-connecting.html

 

欢迎添加个人微信号:Like若所思。

欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL