Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架数据库生成错误_C#_Mysql_Entity Framework - Fatal编程技术网

C# 实体框架数据库生成错误

C# 实体框架数据库生成错误,c#,mysql,entity-framework,C#,Mysql,Entity Framework,我正在创建一个模型优先数据库,并尝试生成我的MySql模式。当我点击“从模型生成数据库”时,它给出了这个错误 Encountered the following errors while processing the template 'E:\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen\SSDLToMySQL.tt: Line 141, Column 0:

我正在创建一个模型优先数据库,并尝试生成我的MySql模式。当我点击“从模型生成数据库”时,它给出了这个错误

Encountered the following errors while processing the template 'E:\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen\SSDLToMySQL.tt: 

Line 141, Column 0: 'Running transformation: System.NullReferenceException: Object     reference not set to an instance of an object.

   at Microsoft.VisualStudio.TextTemplatingE384461094E1DFC8313DC1AA4CE547BEB91411CCECC4E940B2CAA4A167C5F68F403F4103FA7B7E1BB1B4B97B86595FBABCAF62EA3385ABAA9AF47E060E49D857.GeneratedTextTransformation.GetProviderManifestToken(String edmxPath) in e:\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen\GenerateMySQL.Utility.ttinclude:line 142

   at Microsoft.VisualStudio.TextTemplatingE384461094E1DFC8313DC1AA4CE547BEB91411CCECC4E940B2CAA4A167C5F68F403F4103FA7B7E1BB1B4B97B86595FBABCAF62EA3385ABAA9AF47E060E49D857.GeneratedTextTransformation.TransformText() in e:\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen\SSDLToMySQL.tt:line 121'
我去检查了参考文件,不知道该怎么办。以下是目标行的文件内容

GenerateMySQL.Utility.t包括

(142 -->) foreach (var node in xmlDocument.SelectSingleNode("/edmx:Edmx/edmx:Runtime/edmx:StorageModels", namespaceMgr).ChildNodes)
{
  if (((XmlNode)node).Name.Equals("Schema") && ((XmlNode)node).Attributes.GetNamedItem("ProviderManifestToken") != null)
  {
      return ((XmlNode)node).Attributes["ProviderManifestToken"].Value;
  }
}
return String.Empty;
SSDLToMySQL.tt

EnvDTE.DTE env = (EnvDTE.DTE)((IServiceProvider)this.Host).GetService(typeof(EnvDTE.DTE));      
(121 -->)string serverVersion = GetProviderManifestToken(edmxPath);
string connection = String.Empty;
我知道它以前能用,但现在它给了我这个错误。这是一个非常简单的模式,3个带有字符串和Int32的表,以及一些关系。项目是空的,除了Mysql连接的初始设置外,没有做任何修改


我在Visual Studio 2012上安装了MySql连接器版本6.7.4和Entity Framewiork v6.0.1。

我通过将第121行的SSDLToMySQL.tt从

string serverVersion = GetProviderManifestToken(edmxPath);


看起来它现在找到了正确的.edmx文件。

我尝试了Tristan Dube的答案,但后来遇到了问题。我现在似乎有了EF6、mysql-connector-net-6.8.3和mysql-visualstudio-plugin-1.1.1的有效配置。mysql-installer-community-5.6.15.0没有提供这两个版本,所以我在mysql.com的镜像上找到了它们:

我遇到了完全相同的问题,你的解决方案奏效了,你真是棒极了!
string serverVersion = String.Empty;