【发布时间】:2016-10-24 03:19:27
【问题描述】:
我正在尝试在 NuGet 中生成新的迁移脚本。输入add-migration Initial 后会生成以下响应。注意:我的项目仍然可以编译并运行,没有错误...
PM> add-migration Initial
System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.
at System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue)
at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
at MySql.Data.MySqlClient.MySqlConnectionStringBuilder..ctor(String connStr)
at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value)
at MySql.Data.MySqlClient.MySqlConnection..ctor(String connectionString)
at MySql.Data.Entity.MySqlConnectionFactory.CreateConnection(String connectionString)
at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
at System.Data.Entity.Internal.LazyInternalConnection.get_Connection()
at System.Data.Entity.Internal.LazyInternalContext.get_Connection()
at System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func`1 resolver)
at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase)
at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
at System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run()
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
at System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String migrationName, String language, String rootNamespace, Boolean ignoreChanges)
at System.Data.Entity.Migrations.AddMigrationCommand.Execute(String name, Boolean force, Boolean ignoreChanges)
at System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Format of the initialization string does not conform to specification starting at index 0.
我一直按照这个问题的指南来建立与我的 Google Cloud SQL 服务器的连接: Dynamic MySQL database connection for Entity Framework 6
我的连接字符串:
<add name="CCGamesGCloud.EntityFramework.Context" connectionString="Server=******;Database=*****;Uid=****;Pwd=*********"
providerName="MySql.Data.MySqlClient" />
我的 EF 字符串:
<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>
上下文类:
public class Context : DbContext
{
public Context() : base("CCGamesGCloud.EntityFramework.Context")
{
}
public virtual DbSet<Developer> Developers { get; set; }
//... etc. etc... for all DBSets
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Developer>();
// other calls... etc here
}
}
Web.config XML 第一行:
<?xml version="1.0" encoding="utf-8"?>
我已将必要的 MySQL dll 添加到解决方案参考中。与该主题的许多其他问题一样,我的字符串中没有任何拼写错误。
【问题讨论】:
-
你能展示
context类吗? -
根据请求添加。
-
你能显示
web.config文件的第一行吗?我的意思是<?xml version="1.0" ...... -
根据请求添加。
-
你找到解决办法了吗?
标签: .net entity-framework nuget-package