2015-09-28 91 views
-2

問題:我有一個使用.NET Entity Framework庫訪問Sql Server數據庫的Web應用程序。我應該怎麼做才能將其更改爲MySQL?將現有的.NET Entity Framework圖層從Sql Server更改爲MySql

更多的細節

我試圖改變在app.config中的參數,這裏是我的app.config文件。

<?xml version="1.0" encoding="utf-8"?> 
<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> 
    <connectionStrings> 
    <add name="mysql_db" connectionString="server=localhost;user id=root;password=;database=foo" providerName="MySql.Data.MySqlClient" /> 
    </connectionStrings> 
    <entityFramework> 
    <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, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> 
    </providers> 
    </entityFramework> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
</configuration> 

我使用上述文件後運行應用程序,我得到以下錯誤。

建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開到SQL Server的連接)

還應該改變它以使其使用MySQL數據庫。我已經安裝了必要的工具(MySQL,.NET MySQL連接器,用於Visual Studio的MySQL)。

回答

1

我想你應該安裝MySQL Connector/NET和配置正確的連接字符串(這是一個樣品) Here you can find doc x ef6

 <connectionStrings> 
      <add name="MyContext" providerName="MySql.Data.MySqlClient" 
       connectionString="server=localhost;port=3306;database=mycontext;uid=root;password=********"/> 
     </connectionStrings> 
     <entityFramework> 
      <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> 
相關問題