簡體   English   中英

MySQL的實體框架defaultConnectionFactory

[英]Entity Framework defaultConnectionFactory for MySQL

當我將connectionString名稱指定為基礎構造函數的參數時,以下配置正常工作。 因為我希望以后能夠在不重新編譯的情況下更改默認提供程序,所以我想在app.config設置它,但我不知道提供什么作為defaultConnectionFactory type

  <connectionStrings>
    <add name="MySQL" providerName="MySql.Data.MySqlClient" connectionString="SERVER=localhost;DATABASE=abc;UID=root;PASSWORD=;" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, EntityFramework"></defaultConnectionFactory>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
    </providers>
  </entityFramework>

例外:

無法將Database.DefaultConnectionFactory設置為應用程序配置中指定的“MySql.Data.Entity.MySqlConnectionFactory,EntityFramework”類型的實例。 請參閱內部異常了解詳細信

內部異常(已翻譯,VS設置為英語但某些消息仍為我的語言):

無法在程序集“EntityFramework”中加載“MySql.Data.Entity.MySqlConnectionFactory”類型

文檔說明程序集名稱MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6冒號,因此我也嘗試了MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6 ,給我這個例外:

初始化字符串的格式不符合從索引0開始的規范。

我正在使用EF6,MySql.Data和MySql.Data.Entity.EF6 6.8.3.0。

connectionString的name屬性必須與您的上下文相同。 這很好用:

  <connectionStrings>
    <add name="NAMEOFYOURCONTEXT" providerName="MySql.Data.MySqlClient" connectionString="Server=localhost;Database=abc;Uid=root;Pwd='';" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6"></defaultConnectionFactory>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
    </providers>
  </entityFramework>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM