5

我試圖從數據庫更新模型並使用MySQL作爲我的數據源,似乎在將MySQL列爲數據源時存在一些問題。 請看內嵌圖像: MySQL not listed in Update model from db 我已經安裝了MySQL for visual studio,這樣我可以看到現有的數據模型,由別人創建, 但我無法更新數據模型。 另外我試過這裏給出的解決方案: Can't Create Entity Data Model - using MySql and EF6,但它沒有解決。MySQL未列在VS Express 2012版本的數據庫實體框架的更新模型中

似乎VS 2012的快遞版本存在一些問題。

我需要知道這是VS 2012快遞的問題,還是我失去了一些東西,

如何列出MySQL作爲數據源? 任何幫助將非常感激。

回答

1

據我所知,VS 2012 Express不通過MySQL for Visual Studio作爲擴展支持,但通過MySQL Connector/NET支持,根據this article

MySQL的Visual Studio中不支持的微軟 開發產品快速版本,包括視覺Studio和微軟的可視化Web開發人員。

要將MySQL Connector/Net與Microsoft開發產品的Express版本一起使用,請使用MySQL Connector/Net 6.7.4或更高版本,而無需安裝Visual Studio的MySQL。

這裏有一些步驟,使用Connector/NET與EF:

  1. 安裝MySQL Connector/NET,添加以下3個DLL文件作爲您的項目參考:

    MySql.Data.dll 
    MySql.Data.Entity.dll (for EF6 it should be MySql.Data.Entity.EF6.dll) 
    MySql.Web.dll 
    

所需文件存在MySQL\MySQL Connector Net [version number]\Assemblies\[.NET version]\,例如C:\Program Files\MySQL\MySQL Connector Net 6.x.x\Assemblies\v4.5\

  • 變化entityFramework元件上的web.config文件取決於EF版本被使用:
  • EF 5

    <entityFramework> 
        <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity" /> 
    </entityFramework> 
    

    EF 6

    <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> 
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
        <providers> 
         <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
        </providers> 
    </entityFramework> 
    
    1. 重建您的項目/解決方案並確保數據源下拉列表中提供了「MySQL數據庫」選項。

    更新:

    開展有關數據源的可用性經過進一步研究,我發現,Visual Studio速成版有關於第三方擴展組特定的限制,因此,在某些情況下不允許甚至創造在EDM設計階段連接MySQL實例(感謝Devart讓我想起這件事)。作爲一種變通方法,基於CLI的EDM發生器可以使用(參見exampleusage description)如下例所示:

    edmgen.exe /mode:fullgeneration /c:"[MySQL DB connection string]" /project:[project name] /entitycontainer:[entity name] /namespace:[table namespace] /language:CSharp 
    

    相關的問題:

    mySQL DataSource on Visual Studio 2012

    Can't use a MySQL connection for entity framework 6

    MySQL For Visual Studio 2012/2013

    +0

    所以這個方法在VS 2012中不會起作用,我試過但沒有爲我工作 – csharpcoder

    +0

    你嘗試過什麼步驟,什麼時候它不工作?我想知道在連接器網絡集成過程中您是否做了錯誤或不正確的事情。 –

    +0

    我已經按照項目構建過程中所述的步驟進行了操作,但是在數據源中沒有列出。我已經正確引用了Dll。你確定它適用於VS Express 2012 – csharpcoder

    相關問題