C# SqlConnection到localdb失败
在我的控制器中,我试图访问C# SqlConnection到localdb失败,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,在我的控制器中,我试图访问成员身份用户: MembershipUser user = Membership.GetUser(User.Identity.Name); 但我得到了以下错误: 运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定) 我能够创建用户,并且能够在 [projInterview
成员身份用户
:
MembershipUser user = Membership.GetUser(User.Identity.Name);
但我得到了以下错误:
运行时发生与网络相关或特定于实例的错误
正在建立与SQL Server的连接。找不到服务器,或者
无法访问。验证实例名称是否正确,以及
SQL Server配置为允许远程连接。(提供程序:SQL)
网络接口,错误:26-定位服务器/实例时出错
(指定)
我能够创建用户,并且能够在
[projInterview].[dbo].[AspNetUsers]
我已经能够在我的其他桌子上播种了但我似乎无法在创建
方法中访问控制器中的成员身份用户
。
我不知道该去哪里找。我已经检查了web.config,不确定问题出在哪里:
更新:
我在我的web.config中添加了以下内容:
<membership
defaultProvider="SqlProvider"
userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="ProjectContext"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
您似乎没有会员制的任何配置。默认情况下,它将使用机器级配置文件中定义的
LocalSqlServer
连接字符串,这几乎肯定不是您想要的:
<connectionStrings>
<add
name="LocalSqlServer"
providerName="System.Data.SqlClient"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
/>
</connectionStrings>
将成员资格提供程序配置为使用数据库
更新:
数据库需要包含相关的表和存储过程,才能使SqlMembershipProvider
正常工作。创建它们的最简单方法是使用
或者,您可以使用,它首先使用实体框架代码,并将自动为您创建所需的表
P>最后,您可能想考虑放弃会员制,然后使用。< /P>我更新了我的问题。我遇到了一个新错误:找不到存储过程“dbo.aspnet_CheckSchemaVersion”。我尝试了前两个选项,并通过了第一期,但现在我想知道新的ASP.Net标识系统。
<connectionStrings>
<add
name="LocalSqlServer"
providerName="System.Data.SqlClient"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
/>
</connectionStrings>