使用EF CodeFirst連線MySql資料庫
阿新 • • 發佈:2018-11-16
開始安裝包
install-package MySql.Data.Entity
我們這裡的版本是6.9.9
此包因為是依賴EF包的,所以安裝此包時會自動安裝EF包。
配置web.config
安裝完成後,我們配置webconfig檔案。
把原來的entityFramework節點換成:
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider> </providers> </entityFramework>
把原來的connectionStrings換成我們MYSQL的連線:
<connectionStrings>
<add name="Model" connectionString="Data Source=localhost;port=3306;Initial Catalog=EfMysql;user id=root;password=root;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
值得注意的是,程式是怎麼驗證我們連線的是Mysql資料庫,而不是sqlserver呢?答案就在connectionString中的providerName="MySql.Data.MySqlClient"
輸入命令與驗證
在程式包管理器控制檯以此輸入:
enable-migrations
add-migration init
update-database
在看看我們的Mysql,成功安裝了EfMysql的資料庫: