asp.net mvc4连接mysql
环境:vs2013+mysql5.6+mysql connector for .net 6.8.3+MySQL for Visual Studio 1.1.3
参考:http://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html
mvc4连接mysql的资料很少,百度了一圈也没找到。一开始用的vs2013怎么也连接不上mysql,连ado.net不显示,用mysql.data的直接连接倒是能成功,但是到mvc的时候就需要各种配置了。
最后在mysql的官网上找到了资料:
1.首先要先安装MySQL for Visual Studio ,你可能会说我安装了啊,怎么还是不显示呢看官网说的:

所以你需要安装1.1版本以上的才可以,除此之外,mysql官网还说了:
Visual Studio 2013 (Professional edition and up only) is supported by MySQL Connector/Net 6.8 and up with the MySQL for Visual Studio product.
必须是vs2013 professional版本以上才可以!!
等等,mysql的官网还有条:
Always install the MySQL for Visual Studio before installing MySQL Connector/Net.
安装MySQL Connector/Net之前要先安装MySQL for Visual Studio,不知道聪明的你是不是安装反了
安装MySQL Connector/Net,可以通过NuGet工具获得,比较轻松愉快,当然你也可以自己下载,自己引用
2.
配置环境:
修改web.config
<connectionStrings>
<add name="MyContext" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;
port=3306;database=mycontext;uid=root;password=********"/>
</connectionStrings>
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices,
MySql.Data.Entity.EF6" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices,
EntityFramework.SqlServer" />
</providers>
</entityFramework>
添加mysql.data,mysql.data.entity.EF6到引用
下面mysql官方还温馨的建议了:
(1)在context class顶部添加:[DbConfigurationType(typeof(MySqlEFConfiguration))]
(2)添加 codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6" 到<entityFramework> 上面的字节里我已经添加了
(3)程序开始的时候添加 DbConfiguration.SetConfiguration(new MySqlEFConfiguration());
实例代码:
[DbConfigurationType(typeof(MySqlEFConfiguration))]
class JourneyContext : DbContext
{
public DbSet<MyPlace> MyPlaces { get; set; } public JourneyContext()
: base()
{ } public JourneyContext(DbConnection existingConnection, bool contextOwnsConnection)
: base(existingConnection, contextOwnsConnection)
{ }
} using (MySqlConnection conn = new MySqlConnection("<connectionString>"))
{
conn.Open();
... using (var context = new JourneyContext(conn, false))
{
...
}
}
mysql官网有一个例子,参考引用中就是,如果你设了密码会给有InnerException = {"Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'localhost' (using password: NO)"}" 的提示,你需要在连接字符串中增加
Persist Security Info=True;
我实现的效果:

刚开始学习mvc,感觉比webform好用一些,要是连上了过来道个喜吧
asp.net mvc4连接mysql的更多相关文章
- ASP.Net MVC连接MySQL和Code First的使用
首先要准备一下的工具作为环境 MySQL Community Server 5.7.x My Workbench 6.3 VS2017 新建一个项目,NetMySQLCodeFirst 选择MVC,再 ...
- 处理asp.net core连接mysql的一个异常Sequence contains more than one matching element
晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常: Unable to connect to any of the specif ...
- Asp.Net Core 连接Mysql
上一篇文章里最后在VS里测试是没有问题的,但是在Windows命令行模式下会报错. 首先用dotnet restore命令的时候会出现error: 然后用dotnet run会出现警告,但是依旧会成功 ...
- ASP.NET MVC4 with MySQL: Configuration Error (MySql.Web.v20)
今天在浏览ASP.NET项目时,提示如下错误: Could not load file or assembly ‘MySql.Web.v20, Version=6.9.4.0, Culture=neu ...
- ASP.NET 连接MySQL数据库 详细步骤
ASP.NET默认的数据库是MS SQL Server,微软的数据库产品.事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网 ...
- ASP 连接 MySQL 数据库两种方法
一般都是用myodbc来连接.首先,在系统中安装 Mysql 的ODBC数据库驱动.如安装稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connecto ...
- Asp.Net连接Mysql报错Out of sync with server
Asp.Net连接Mysql报错Out of sync with server 原因:程序引用的MySql.Data.dll版本高于服务器版本 解决:下载一个低版本的MySql.Data.dll,项目 ...
- 搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi
里我们用三层架构搭建一个连接MySql的ASP.netCore模板的WebApi项目 首先添加WebApi项目(ASP.NetCore版本) 右键解决方案>新建项目> 选择Web>A ...
- asp.net core2.0 连接mysql和mssql
转自:https://www.jianshu.com/p/15a557ac43d9 1.连接mysql 第一步,新建asp.net core项目 新建项目 本例程作简单演示两种数据库的连接,为简便 ...
随机推荐
- ant-design 实现 添加页面
1.逻辑代码 /** * 添加用户 */ import React,{PureComponent} from 'react' import {Card,Form,Input,Select,Button ...
- LoadRunner中对图表的分析说明
LoadRunner中对图表的分析说明 (一)在Vusers(虚拟用户状态)中 1.Running Vusers(负载过程中的虚拟用户运行情况) 说明——系统形成负载的过程,随着时间的推移,虚拟用户数 ...
- Refactoring之——代码的坏味道(四)过长参数列
1.1.4 Long Parameter List(过长参数列) 特征:一个方法有超过三四个的参数. 问题原因: 过长参数列可能是将多个算法并到一个函数中时发生的.函数中的入参可以用来控制最终选用哪个 ...
- linux如何手动释放linux内存
当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题 ...
- 转:ios应用崩溃日志揭秘
http://www.raywenderlich.com/zh-hans/30818/ios应用崩溃日志揭秘
- 利用HTML5 Canvas和Javascript实现的蚁群算法求解TSP问题演示
HTML5提供了Canvas对象,为画图应用提供了便利. Javascript可执行于浏览器中, 而不须要安装特定的编译器: 基于HTML5和Javascript语言, 可随时编写应用, 为算法測试带 ...
- Linux C 中 open close read write 使用实例
这里实现的是将文件cody.txt中的内容拷贝到to_cody.txt中去. 1 /* ======================================================== ...
- Atitit.android jsbridge v1新特性
Atitit.android jsbridge v1新特性 1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的.只是参数url的写法不一样而已1 2. 三.JAVA ...
- Mysql数据库分库备份,分表备份
分库备份 #!/bin/sh DBPATH=/server/backup MYUSER=root MYPASS=oldboy123 SOCKET=/data/3306/mysql.sock MYCMD ...
- Jenkins安装与构建部署
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1.持续的软件版本发布 ...