.net 所有嵌入式数据库无法打开连接
我正在开发一个需要存储数据的winforms桌面应用程序。我做了一个非常糟糕的决定,试图嵌入一个数据库。我试过:.net 所有嵌入式数据库无法打开连接,.net,sql-server,sql-server-ce,vistadb,.net,Sql Server,Sql Server Ce,Vistadb,我正在开发一个需要存储数据的winforms桌面应用程序。我做了一个非常糟糕的决定,试图嵌入一个数据库。我试过: SQLite 维斯塔布 SQL Server Compact 在每种情况下,我都能够在我创建的基本模式上生成实体框架模型。我有一个事件,它添加了我用来测试这些数据库的数据 嗯,我一直在使用EF添加一条新记录,但发现它实际上并没有插入一条记录。在调试过程中,我检查了上下文对象以查看发生了什么。事实证明,它是在说“底层提供程序未能打开”,或者类似的话。它没有抛出异常,只是没有插入记录
- SQLite
- 维斯塔布
- SQL Server Compact
不管怎样,我已经准备好把头发拔出来了。这件事的最后期限很紧,我没想到要花一天的时间来弄清楚到底发生了什么事。使用SqlCeConnection使用SqlCeConnection就目前情况而言,我怀疑任何人都不能回答你的问题。需要更详细的说明,因为某种原因代码没有通过。这里是连接字符串:我首先设法将VistaDB 4和5与EF代码一起使用,但我也在本地(在VistaDB 5的情况下)得到了这个“参考底图提供程序无法打开”。Vista DB支持比SQL Compact或SQLite更多的东西(包括并发写入!)就目前而言,我怀疑是否有人能回答您的问题。需要更详细的说明,因为某种原因代码没有通过。这里是连接字符串:我首先设法将VistaDB 4和5与EF代码一起使用,但我也在本地(在VistaDB 5的情况下)得到了这个“参考底图提供程序无法打开”。Vista DB支持比SQL Compact或SQLite更多的东西(包括并发写入!)好吧,这解决了它——至少在使用SqlConnection和SQLCommand时是这样。实体框架呢?有可能使用SQL Server Compact和EF吗?嗯,我还没用过。您可以检查有关SQL Server Compact 3.5 Service Pack 1联机丛书、实体框架(SQL Server Compact)的限制,以便它确实支持EF。然而,我立即注意到了一个局限性。SQL Server Compact 3.5 SP1不支持在使用EF时自动递增主键。您需要自己增加关键点。我使用了一种扩展方法来获取最新的id,并将数字递增。但是,每次我仍然必须手动赋值。好的,这解决了它——至少在使用SqlConnection和SQLCommands时是这样。实体框架呢?有可能使用SQL Server Compact和EF吗?嗯,我还没用过。您可以检查有关SQL Server Compact 3.5 Service Pack 1联机丛书、实体框架(SQL Server Compact)的限制,以便它确实支持EF。然而,我立即注意到了一个局限性。SQL Server Compact 3.5 SP1不支持在使用EF时自动递增主键。您需要自己增加关键点。我使用了一种扩展方法来获取最新的id,并将数字递增。但是,每次我仍然必须手动分配值。