Visual Studio 2013-通过MySQL执行Model.edmx.sql?

Visual Studio 2013-通过MySQL执行Model.edmx.sql?,mysql,sql,entity-framework,ado.net,visual-studio-2013,Mysql,Sql,Entity Framework,Ado.net,Visual Studio 2013,我正在学习ADO.NET模型在MySQL实体框架中的工作方式。我生成新的测试模型,然后选择“从模型生成数据库” 它为我生成了新文件“model_name.edms.sql”-用于创建数据库的实际MySQL脚本。 但是,要执行它,我必须“连接到服务器”,默认情况下,它是SQL Server 2012。但就我而言,我使用的是MySQL,而不是MS SQL Server。我没有SQL12实例,我正在使用MySQL 如何将其更改为连接到MySQL 另外,我知道我可以直接在数据库上使用“新查询”,复制/粘

我正在学习ADO.NET模型在MySQL实体框架中的工作方式。我生成新的测试模型,然后选择“从模型生成数据库”
它为我生成了新文件“model_name.edms.sql”-用于创建数据库的实际MySQL脚本。
但是,要执行它,我必须“连接到服务器”,默认情况下,它是SQL Server 2012。但就我而言,我使用的是MySQL,而不是MS SQL Server。我没有SQL12实例,我正在使用MySQL

如何将其更改为连接到MySQL


另外,我知道我可以直接在数据库上使用“新查询”,复制/粘贴文件内容并执行。我也可以使用MySQL Workbench和大量其他应用程序,但是我在VS2013中工作,其中大多数工具已经集成,我不敢相信VS13中的SQL文件只能通过MS SQL12执行。首先,你必须确保你已经下载了MySQL for Visual Studio。这不是Connector/Net(尽管您可能也应该有)

在VS中,当您打开服务器资源管理器时,应该能够添加数据库。输入您的服务器名、用户名、密码,不要忘记单击“高级”按钮并添加端口(通常为3306)。所有这些信息都可以从MySQL工作台获得。现在,您应该能够使用与SQL Server相同的步骤将EDMX部署到MySQL数据库

有关Oracle的完整步骤,请访问


编辑:完成上述步骤后,在EDMX的空白处单击鼠标右键,然后在DDL生成模板的下拉列表中选择SSDLToMySQL.tt。SSDLToSQL[version].tt是默认选择。

我刚刚遇到了同样的问题,这就是解决问题的方法。 我使用的是VS 2010 Ultimate,但我想在VS 2013中也是一样的

首先,当您从工具栏连接(并执行sql)时,您实际上请求在“Transact-sql编辑器”工具栏上执行该操作,这意味着工具栏处理MS数据库。这就是为什么您总是可以获得到MS数据库的连接对话框

如果在VS中正确安装了MySQL软件包(显然您就是这样),您应该:

  • 右键单击任何现有工具栏(或转到查看->工具栏)并选择MySQL。这将添加MySql工具栏
  • 单击左侧的第一个按钮(在“MySQL工具栏”中),连接到现有数据连接或创建到MySQL数据库的新连接。将添加一个MySql脚本选项卡
  • 将从EDMX文件生成的sql全部复制到“MySql脚本选项卡”
  • 从“MySql脚本选项卡”运行脚本。
  • 应该这样做。 我知道还有一点复制粘贴,但至少你不必离开VS

    希望有帮助

    cheerio

    如果您将where.edmx.sql文件重命名为where.edmx.mysql,它将在适当的工具中打开,并允许您连接到mysql数据库服务器并运行脚本。

    也许在某个时候,生成器将被更新,以创建扩展名为“.mysql”而不是“.sql”的EDMX文件。

    您确定生成的脚本是为mysql而不是为SqlServer生成的吗?是的,与之前一样,生成“*.EDMX.sql”文件,我在模型属性“DLL生成模板”中设置该文件以供使用“SSDLToMySQL.tt(VS)”而不是默认值“SSDLToSQL10.tt(VS)”,我相信将为MS SQL或MySQL生成定义命令语法的默认值。以任何方式。SQL“文件扩展名没有定义必须通过MS SQL完全打开它。所有SQL数据库都使用.SQL文件来存储过程。1)我确实安装了适用于VS2013的MySQL软件包2)您在“服务器资源管理器”中为我提供了如何向数据库添加MySQL连接的链接和说明,然而,我的问题是关于Model.edmx.sql的执行,defoult希望在MS sql中执行Model.edmx.sql,而不是在MySQL中执行Model.edmx.sql,不管您是在“Server Explorer”中建立连接还是安装了“MySQL tools for VS2013”。我之前已经完全建立了连接,但是它不允许我为已经建立的MySQL连接执行脚本。它想让我创建一个我不想要的新MS SQL连接。谢谢你的评论,我发现你可以将*.SQL文件的内容复制/粘贴到MySQL脚本执行区域,但是这与直接执行*.SQL文件不同。我不是想挑剔,我只是认为它必须在设置中进行调整,而不是硬编码到MS SQL,我知道VS是MS工具,但MS SQL不是世界上唯一的数据库。。。我会把你的答案标记为答案,因为在目前的情况下,这确实是唯一的解决方案!非常感谢。