这行:

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=&quot;data source=***********;initial catalog=********;persist security info=True;user id=*********;password=********;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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/

10-11 05:04