2015-09-28 5 views
-2

Вопрос: У меня есть веб-приложение, использующее библиотеку .NET Entity Framework для доступа к базе данных Sql Server. Что делать, чтобы изменить его на 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 для удаленного подключения. (поставщик: поставщик Named Pipes, ошибка: 40 - не удалось открыть соединение с SQL Server)

Что еще я должен изменить, чтобы использовать его в базе данных MySQL. Я установил необходимые инструменты (MySQL, .NET MySQL Connector, MySQL для Visual Studio).

ответ

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>