这行:
WebSecurity.InitializeDatabaseConnection(connectionStringName: "DefaultConnection", userTableName: "UserProfile", userIdColumn: "UserID", userNameColumn: "UserName", autoCreateTables: true);
抛出:
System.Data.dll中发生“System.ArgumentException”,但未在用户代码中处理
附加信息:不支持的关键字:“元数据”。
我的连接字符串是:
add name="DefaultConnection" connectionString="metadata=res://*/TalyllynModel.csdl|res://*/TalyllynModel.ssdl|res://*/TalyllynModel.msl;provider=System.Data.SqlClient;provider connection string="data source=***********;initial catalog=********;persist security info=True;user id=*********;password=********;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.SqlClient" /></connectionStrings>
不知道哪里错了。
最佳答案
您传递的字符串不是有效的数据库连接字符串,它是EF connection string,其provider connection string
参数中包含SQL Server连接字符串。 WebSecurity.InitializeDatabaseConnection需要有效的数据库连接字符串
为了避免自己解析连接字符串,可以使用EntityConnectionStringBuilder类解析该字符串,并从其ProviderConnectionString属性中检索数据库连接字符串。
关于c# - 不支持的关键字: Metadata,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20183777/