我正在尝试启动 MVC EF Visual Studio 2017 项目。我在本地实例上使用 MySQL 设置了所有数据连接,但是当我去创建 ADO.net 数据模型时,我得到了图片中看到的错误:
这里还有一篇文章:Can't use a MySQL connection for entity framework 6涵盖 VS 2012 和 2013,但不包括 2017。这是 MySQL 文档,说明哪些版本适用于 2017:https://dev.mysql.com/doc/visual-studio/en/visual-studio-install.html
我正在使用:
MySQL 连接器网 6.9.9 | MySQL for Visual Studio 1.2.7 | MySQL 服务器 5.7
MySQL 数据 6.9.9 | MySQL.Data.Entity 6.9.9 | Entity Framework 6.1.3
所有这些都被 MySQL 列为测试和工作。我今天刚刚安装了所有新的东西,所以没有优秀的旧版本。我检查了三次 ;)
连接字符串:
<connectionStrings>
<add name="MySQL" connectionString="server=localhost;port=3306;user id=root;password=password;database=localdb" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
编辑
我找到了这篇文章https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html那是关于建立连接的,但现在不是那个错误,而是我一点击“下一步”,对话框就消失了。
这只是我做错了什么还是 MySQL 连接器损坏了?
提前感谢您的任何建议!
最佳答案
我必须做的是重新安装 MySQL for Visual Studio 2.0.5 , 然后完全删除并安装 MySQL Connector 6.9.9 .似乎顺序很重要。在那之后,我完全删除了这些包,并按照这个确切的顺序重新安装:
(之后重新启动 Visual Studio)
EntityFramework 6.1.3 (I tried earlier versions and they don't work, so beware)
Mysql.Data 6.9.9
Mysql.Data.Entity 6.9.9 (NOT Mysql.Data.Entities!!! [for 6.9.9])
Mysql.Web 6.9.9
然后,确保您的 web.config 文件中包含以下内容:
(修改后重启确定)
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
(您可能需要注释掉任何现有部分并将其替换为该部分)
我必须通过重新访问 here 来提醒自己的最后一步. 那部分是我忘记了(太久了),导致问题截图错误。
最后一件事,您可能将不正确的版本复制到安装 Visual Studio 的位置;例如:
C:\Program Files (x86)\Microsoft Visual Studio\{年份}\{社区|企业|专业}\Common7\IDE\PrivateAssemblies
或
C:\Program Files (x86)\Microsoft Visual Studio{你的版本号}\Common7\IDE\PrivateAssemblies
MySql.Data.dll
MySql.Data.Entity.EF6.dll
MySql.Web.dll
(may have to close Visual Studio first)
您可以选择每个文件并转到文件属性下的详细信息 选项卡以查看您拥有的版本。
从这里(或您安装它的任何地方)获取新文件:
C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5
(这假定连接器 v6.9.9 使用框架 v4.5 [查看项目属性的 Application->Target Framework 以确认您的设置])。
注意 1:当您为 Visual Studio 安装 MySQL 时,它会更新 PrivateAssemblies 文件夹中的文件(请参阅上面的 Visual Studio 路径),因此请仔细检查上面的程序集以确保它们没有' 更改为目标版本以外的任何版本(在本例中为 6.9.9)。无论 NuGet 安装什么,Visual Studio 都不会关心,并且会查看私有(private)程序集(我认为实际上是在启动期间)。
注意 2:如果出现“IsPrimaryKey”错误,see here .
我完成的 App.Config 可供引用(与您的比较):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
</entityFramework>
<connectionStrings>
<!-- Connections Strings Go Here -->
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.9.9.0" newVersion="6.9.9.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
关于c# - VS 2017 中的 MySQL 和 MVC Entity Framework 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45469056/
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时
作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
在railstutorial中,作者为什么选择使用这个(代码list10.25):http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-usersnamespace:dbdodesc"Filldatabasewithsampledata"task:populate=>:environmentdoRake::Task['db:reset'].invokeUser.create!(:name=>"ExampleUser",:email=>"example@railstutorial.org",:passwo
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer