2

我是这个世界的新手,坦率地说,我不喜欢它的复杂性,但那不是重点。

我创建了一个名为 的新数据库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()

我不确定如何进行。

4

1 回答 1

0

我相信您走在正确的道路上,但由于这是您第一次,我建议您按照 Microsoft 的逐步演练进行操作,该演练可在此处获得:

数据库优先方法:http: //msdn.microsoft.com/en-us/data/jj206878.aspx

通用学习资源页面在这里:http: //msdn.microsoft.com/en-us/data/ee712907

这就是我一开始用来掌握 MVC 和实体框架的方法。它非常简单直接,我向你保证,你会爱上它。

我希望这有帮助。

于 2013-04-10T16:05:33.820 回答