SimpleMembership API connectionStringName错误

时间:2011-05-20 20:14:22

标签: asp.net-mvc entity-framework asp.net-mvc-3

我正在尝试在我的MVC 3应用程序中使用SimpleMembership。但是我收到以下错误:

  

System.ArgumentException未处理   按用户代码。无法找到   请求.Net框架数据   供应商。它可能没有安装。

我正在使用EF并且框架显然已存在,因为我的应用程序在没有SimpleMembership API的情况下工作正常

以下是Web配置文件中的设置:

<connectionStrings>
  <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
  <add name="SeniorProjectModelContainer" connectionString="metadata=res://*/Models.SeniorProjectModel.csdl|res://*/Models.SeniorProjectModel.ssdl|res://*/Models.SeniorProjectModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=GOGOTOPPY;Initial Catalog=SPMT;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

以下是它在App_Start文件夹的Membership文件中的样子:

WebSecurity.InitializeDatabaseConnection(connectionStringName: "SeniorProjectModelContainer", userTableName: "Users", userIdColumn: "UserId", userNameColumn: "UserName", autoCreateTables: true);

任何帮助将不胜感激!

Update:

快速解决方法是从连接字符串中取出元数据部分,并将提供程序名称更改为SqlClient,使其看起来与此类似:

<connectionStrings>
  <add name="Membership" connectionString="Data Source=serverName;Database=datebaseName;User ID=idName;Password=password;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

连接字符串是否有任何缺点?

1 个答案:

答案 0 :(得分:0)

不确定你是如何安装simplemembership但尝试以nuget方式进行的,例如, http://www.nuget.org/List/Packages/SimpleMembership.Mvc3