據我所知,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:
安裝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>
- 重建您的項目/解決方案並確保數據源下拉列表中提供了「MySQL數據庫」選項。
更新:
開展有關數據源的可用性經過進一步研究,我發現,Visual Studio速成版有關於第三方擴展組特定的限制,因此,在某些情況下不允許甚至創造在EDM設計階段連接MySQL實例(感謝Devart讓我想起這件事)。作爲一種變通方法,基於CLI的EDM發生器可以使用(參見example和usage 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
所以這個方法在VS 2012中不會起作用,我試過但沒有爲我工作 – csharpcoder
你嘗試過什麼步驟,什麼時候它不工作?我想知道在連接器網絡集成過程中您是否做了錯誤或不正確的事情。 –
我已經按照項目構建過程中所述的步驟進行了操作,但是在數據源中沒有列出。我已經正確引用了Dll。你確定它適用於VS Express 2012 – csharpcoder