0

我是 ASP.net MVC 的新手。在我的 MVC 应用程序中,我希望拥有默认登录功能。对于我的实体框架到应用程序的连接,我已经有了这样的连接字符串,

<add name="TestDB2Entities" connectionString="metadata=res://*/EntittyModel.SchoolDBModel.csdl|res://*/EntittyModel.SchoolDBModel.ssdl|res://*/EntittyModel.SchoolDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=PRAGEETH-PC;initial catalog=TestDB2;user id=sa;password=sa123;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

使用该连接字符串,我尝试使用默认预实现登录功能的可用功能。我无法使用它并向我显示以下错误。

“找不到请求的 .Net Framework 数据提供程序。它可能没有安装。”</p>

然后我尝试如下创建一个新的连接字符串,然后它工作正常,

<add name="TestDB2Entities1"    connectionString="data source=PRAGEETH-PC;initial catalog=TestDB2;uid=sa;pwd=sa123;integrated security=sspi" providerName="System.Data.SqlClient" />

但是我只需要一个连接字符串来适应这两种情况。是否可以有一个连接字符串而不是两个连接字符串?或者我的应用程序中有多个连接字符串可以吗?

4

1 回答 1

0

普拉吉思,

假设您指的是 Visual Sutdio 2012 中 MVC 4 Internet 应用程序模板的默认实现,那么您可以(并且应该)拥有一个连接字符串。在模板中,最初只有一个InitializeSimpleMembershipAttribute,但您需要添加更多(见脚注)

您需要做的就是将UsersContext类中的连接字符串名称设置为您自己的名称。在课堂上做同样的事情InitializeSimpleMembershipAttribute,在任何调用WebSecurity.InitializeDatabaseConnection

如果您使用代码优先(顺便说一句,这是您首次使用 SimpleMembership 时最简单的方法),您还可以:

  • UserProfileUsersContext您自己的上下文中移动,然后删除UsersContext
  • 更改对UsersContextinAccountControllerInitializeSimpleMembershipAttribute您自己的上下文的引用

脚注

有关什么是 SimpleMembership 及其工作原理的更多信息,请参阅我对如何将我自己的数据库与 SimpleMembership 和 WebSecurity 一起使用?什么是 MVC4 安全性?,以及使用 InitializeSimpleMembership 的最简单方法,请参阅我对这个问题的回答

于 2013-07-26T05:46:06.287 回答