最近電腦出毛病了,本身裝顯卡驅動給裝死了開不了機,本身研究了兩天也沒解決,只有去修電腦的找專業人員,提及來慚愧,雖然本身是搞計算機的可電腦本身重裝系統都還搞不定。重裝系統又清理灰塵花了50大洋,如今用着感受開機都快了好多。關於VS使用Mysql數據庫本來上週就打算寫一博客,一直拖到如今。mysql
1、Mysql的安裝web
首先確定是安裝VS,這都沒必要再說的。其次是下載Mysql,網址http://dev.mysql.com/downloads/installer/sql
打開會看到下面的兩行數據庫
If you have an online connection while running the MySQL Installer, choose the mysql-installer-web-community file. If you do NOT have an online connection while running the MySQL Installer, choose the mysql-installer-community file.
以我4級差一分的英文水平來翻譯一下就是若是聯網安裝能夠下載mysql-installer-web-community,不是則下載mysql-installer-community 框架
下載安裝以後會出現下面的頁面ide
這裏我是經過自定義選擇的,上面我選擇了3個文件,第一個是Mysql數據庫,第二個算是mysql給VS提供的操做工具,第三個就是Mysql的客戶端,能夠可視化的操做數據庫。這裏要說下Mysql Connectors,若是使用相似ado.net的方式能夠直接安裝Connectors就能夠。下載以後一次下一步安裝,而後配置。工具
2、VS Code First使用Mysqlui
1.上面安裝Mysql for vs以後就會在vs新建項時出現下面的內容,若是不安裝是不會出現的。spa
2.類庫的引入.net
EF框架操做Mysql數據庫須要經過NuGet引入MySql.Data.Entity.EF6
引入以後會出現兩個dll引用,下圖的EF引用是在添加實體ADO.Net實體數據模型時自動添加的。
3.配置文件
光引入這些還不夠,還有修改配置文件,由於默認的是sql server數據庫,因此須要修改配置文件。將系統生成的配置文件修改成下面的內容。這裏注意引用的版本號
<?xml version="1.0" encoding="utf-8"?> <!--注意:此項目爲動態庫,因此此配置文件內容僅供做爲範本使用,實際的WPF或ASP.NET項目可今後文件複製配置內容進行修改--> <configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> <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> </entityFramework> <connectionStrings> <add name="TestContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=TestContext;user id=admin;password=123456;" providerName="MySql.Data.MySqlClient" /> </connectionStrings> <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> </configuration>
4.應用
下面是我爲這個作了一個簡單的demo。首先是新建了一個window控制檯應用程序,而後添加ADO.NET實體數據模型的空的Code First。而後在數據庫上下文中增長實體User。同時設置鏈接字符串是TestContext。
namespace EFMysql { using System; using System.Data.Entity; using System.Linq; public class TestContext : DbContext { public TestContext() : base("name=TestContext") { } public virtual DbSet<User> Users { get; set; } } }
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace EFMysql { public class User { [Key] public int UserId { get; set; } public string Name { get; set; } } }
在控制檯中鏈接數據庫新增一個User實體對象。
static void Main(string[] args) { using (var db = new TestContext()) { User user = new User() { Name = "Test" }; db.Users.Add(user); db.SaveChanges(); Console.WriteLine("OK"); } Console.ReadLine(); }
上面要注意的是Console.ReadLine();不能寫在using裏面,否則就一閃而過。下面是輸出的OK,而後查看Mysql服務能夠發現有一個名TestContext的數據庫