我是这个世界的新手,坦率地说,我不喜欢它的复杂性,但那不是重点。
我创建了一个名为 的新数据库Sample.sdf
,然后创建了一个新的 ASP.NET MVC3 应用程序。我正在阅读您必须将.sdf
数据库复制到项目的根目录。所以我这样做了,我尝试为这个紧凑型数据库创建一个新的 ADO.net 连接,但我必须这样做吗?
我可以不在 web.config 中使用连接字符串对象并将其配置为指向该数据库吗?如果是这样有没有办法测试连接?
我很好奇,因为我打算将它与实体框架一起使用。
更新:
所以我想出了一些事情:
一个.sdf
必须进入App_Data
文件夹,然后从他们那里创建一个基于现有数据库的 ADO.net 实体模型。它会自动查看数据库并为您完成其余的工作,或者至少在我的情况下是这样做的。
但是它会引发错误,在实体数据模型向导中单击下一步后,在选择我的数据连接后,我得到:
无法创建新数据库。
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
System.Data.SqlClient.SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 的 System.Data.SqlClient.SqlInternalConnection.OnError
(SqlException 异常,布尔型 breakConnection) 。 Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean IntegratedSecurity)
在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,字符串 newPassword,布尔 ignoreSniOpenTimeout,TimeoutTimer 超时,SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,字符串 newPassword,布尔重定向用户实例,SqlConnection owningObject,SqlConnectionString connectionOptions,TimeoutTimer 超时)
在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject,TimeoutTimer 超时,SqlConnectionString connectionOptions,String newPassword,Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 标识,SqlConnectionString connectionOptions,对象 providerInfo,字符串 newPassword,SqlConnection owningObject,布尔重定向用户实例)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions 选项,对象 poolGroupProviderInfo,DbConnectionPool 池, DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject )
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data。 SqlClient.SqlConnection.Open()
在 Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnect(WindowsIdentity impersonatedIdentity)
在 Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
我不确定如何进行。