美文网首页我爱编程
Visual Studio 2013/2017 ASP.NET

Visual Studio 2013/2017 ASP.NET

作者: 显卡84du | 来源:发表于2017-08-02 19:12 被阅读485次

前言

一直以来习惯在 ASP.NET 项目中使用 Entity Framework,长期来开发的项目一般都用了微软自家的 SQL Server 数据库,在 Visual Studio 中直接使用 SQL Server 是很简单的。但是一些项目的需要会使用 Oracle 或者 MySQL,这里记录下项目使用 Entity Framework 并使用 MySQL 的配置过程。

网上搜相关关键字会出现一大堆教程,但是也五花八门,一开始得到方法是,只需要使用 NuGet 安装 MySql.Data.EntityMySql.Data 包即可,使用 NuGet 的好处是自动会在 Web.config 文件中创建相关配置节。这里参考的 [Entity Framework] MySQL @ Entity Framework 6 进行了手动添加。不过我的过程和这个有些出入。

安装过程

安装依赖包

按照上面说的方式,直接使用 NuGet 安装 MySql.Data.EntityMySql.Data 包, Web.config 文件中也自动添加了如下配置节:

<providers> 
    ...
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> 
</providers> 
<system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>

报错

我的项目中会使用 DB First 向导方式创建数据库实体,一路下一步后会提示不兼容实体框架:

在上面的参考文章中,在 Web.config 文件中创建相关配置节后问题解决了。但我的项目是自动生成的,而且并没有问题。

官网解决方案

在 MySQL 官网看到了一个 MySQL for Visual Studio 工具,读了下安装说明,照着安装后问题解决了。

官网上的 MySQL for Visual Studio / Installing and Configuring 说了两个比较关键的提示:

Note
Many MySQL for Visual Studio features require MySQL Connector/Net installed on the same system, and MySQL Connector/Net is a separate download. Install both using MySQL Installer.

需要同时安装 MySQL for Visual Studio 和 MySQL Connector/Net。

Important
Always install MySQL for Visual Studio before installing MySQL Connector/Net.

MySQL Connector/Net 必须要在 MySQL for Visual Studio 安装之后才能安装。

按照官网的方法下载两个安装包安装后,以上问题顺利解决。

其他

创建数据库连接可以注意如下选择:

连接可以使用服务器资源管理器创建。

也可以在 connectionStrings 配置节中增加,形式如下:

<connectionStrings>    
    <add name="MySqlConnection" connectionString="server=localhost;user id=root;password=root;database=dbname" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

总结

按照官方推荐的方案,ASP.NET 项目使用 MySQL 数据库的配置如下,注意按照顺序进行,同时,这里假设使用的是 Entity Framework ORM 方案,如果不用 Entity Framework,猜测只需要安装 MySql.Data (未验证)。

  1. 安装 MySQL for Visual Studio
  2. 安装 MySQL Connector/Net
  3. 使用 NuGet 安装 MySql.Data.EntityMySql.Data

相关文章

网友评论

    本文标题:Visual Studio 2013/2017 ASP.NET

    本文链接:https://www.haomeiwen.com/subject/tnpylxtx.html