尽管需要Sql CE,实体框架似乎仍希望使用Sql Server Provider
本文关键字:Sql 希望 Server Provider 框架 CE 实体 | 更新日期: 2023-09-27 18:25:17
我使用的是带有Entity Framework 6代码优先数据模型的SqlCe 4数据库。
我在DbContext构造函数中设置了连接字符串,如下所示:
private static readonly string DATABASE_PASSWORD = "...";
private static readonly string CONNECTION_STRING = string.Format(@"Data Source={0};Password={1}", MyProject.Properties.Settings.Default.DatabaseLocation, DATABASE_PASSWORD);
public DataModel()
: base(CONNECTION_STRING)
{
}
当我运行使用这个模型的应用程序时,它就工作了。
然而,在Visual Studio的设计器中,当我试图查看在view模型构造函数中加载一组记录的WPF控件时,它一次会冻结大约30秒,并收到如下错误消息:
Error 2 Unable to complete operation. The supplied SqlConnection does not specify an initial catalog or AttachDBFileName.
我没有使用SqlServer,我使用的是Sql Server Compact,所以应该没有必要考虑使用Sql Server。
有人能看到我的连接字符串有什么问题吗?
查看错误消息(...The supplied SqlConnection..
)我得出结论,您正在设置SQlConection
而不是SQlCeConnection
确保您将SQL对象设置为:
conn = new SqlCeConnection(CONNECTION_STRING);
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "..."
并确保已添加对SQL Server Compact provider
、System.Data.SqlServerCe.dll
的引用