MySQL Visual Studio 2019集成

9
我切换到Visual Studio 2019后,尝试安装MySQL for VS以使用Entity Framework,但没有发现2019版本。我使用了以下链接:MySQL插件和连接器链接。请问是否有方法在VS2019中获取MySQL功能,或者我做错了什么?谢谢。附上概念验证:MySQL installer

这是一个针对MySQL开发人员的问题。 - Richard
1
这里也是同样的问题。看起来还没有支持VS2019。我正在使用VS2017。 - Kamil
2
你可以在这里找到帮助:https://github.com/ErikEJ/EFCorePowerTools/issues/17#issuecomment-480792319 - ErikEJ
4
MySQL在跟上Visual Studio更新方面一直很慢。这也发生在2017年。Visual Studio推出预览版是为了让这些大公司开始使其产品兼容新版本,但MySQL似乎表示:“这是什么无用的东西,请离开...” :) - Lenard Bartha
3个回答

11

经过多次尝试,我找到了一种使vs2019与MySql和EF6协同工作的方法,至少在“数据库优先”方面如此。

1) 删除VisualStudio中的mysql

2) 删除mysql连接器net

3) 安装mysql for visualstudio 2.0.5

4) 安装mysql连接器net 6.10.8

5) 使用框架4.5.2创建新的C#项目

6) 通过Nuget添加Microsoft Entity Framework 6.2.0

7) 通过Nuget添加MySql.Data.Entity 6.10.8

8) 打开App.config。这一行错误:

<provider invariantName="MySql.Data.MySqlClient" ...

add the missing '/' at the end and delete '</provider>'

9) 构建解决方案

现在添加一个新的ADO.Net实体数据模型,您应该能够使用您的mysql数据库


通过控制台安装以下软件包,相关软件包将自动安装。https://www.nuget.org/packages/MySql.Data.Entity/6.10.8 - Dileep Paul
5
我遇到了这个问题,当我尝试创建EF模型时,只看到了一个带有单选按钮"Entity Framework 6.x"的屏幕,然后这个屏幕立即关闭了。 - BambinoUA
你正在使用哪个版本的MySQL? - Moeez
@Faisal,我不记得我在做什么。有很多带铃鼓的舞蹈,但最终我的MCS开始工作了,除了一件事-我无法将对象选择为数据源。以下是我的App.config剪辑。希望可以帮到你。<section name="entityFramework" ... EntityFramework,Version=6.0.0.0... <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.18... - BambinoUA
我已经解决了以下问题:https://dev59.com/Ubnoa4cB1Zd3GeqPQnP_ - marcogramy

2

看起来Oracle还没有为Visual Studio 2019提供官方的MySQL支持。你可能需要等待新版本并暂时使用Visual Studio 2017。


0

我发现MySQL安装程序检查一组注册表键来检测Visual Studio(它只支持到Visual Studio 2017)。

示例检测键:[HKEY_CLASSES_ROOT\VisualStudio.DTE.15.0]

我伪造了Visual Studio 2017密钥,安装检查成功,并在完成安装后,MySQL工具出现在Visual Studio 2019中。

我的伪造注册表文件只是我注册表中已有的Visual Studio 2019密钥的导出 - 然后我更改了版本号,使其看起来像MySQL安装程序正在寻找的Visual Studio 2017密钥。合并编辑过的注册表文件会将虚假的Visual Studio 2017密钥添加到注册表中,并保留现有的Visual Studio 2019密钥。

这让我获得了MySQL工具栏和添加数据连接功能。我将EF6和Oracle MySql.Data.EntityFramework NuGet包添加到控制台应用程序中,EF部分也可以正常工作。

以下是注册表文件内容 - 我将我的.reg文件中导出的DTE.16.0值更改为DTE.15.0(即MySQL正在寻找的旧密钥),并将文本和GUID保留为Visual Studio 2019:


REGEDIT4

[HKEY_CLASSES_ROOT\VisualStudio.DTE.15.0]
@="Microsoft Visual Studio DTE Object"

[HKEY_CLASSES_ROOT\VisualStudio.DTE.15.0\CLSID]
@="{2E1517DA-87BF-4443-984A-D2BF18F5A908}"

制作一个.reg文件并合并内容,然后安装程序将会运行。您的体验可能会有所不同,因此在信任一个陌生的互联网之前,最好在虚拟机上检查一下。 :-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接