我一直在准备提供有关SQL Server Compact Edition 3.5(SP1 - 最近发布)的演示文稿,我想知道是否有人设计(或考虑设计)具有SQL Server CE 3.5(或更早版本)的系统?
特别是,有没有人想过(或经历过)使用SQLCE作为离线数据存储的解决方案(作为连接系统设计的一部分)?
与其前辈相比,3.5版看起来相当丰富,是否已经准备好进行认真考虑(现在它支持LINQ to SQL,标识列和各种重要的T-SQL)?
如果你需要一个轻量级的低占用空间的基于文件的数据库(特别是如果它需要在移动设备和桌面系统上支持),或者有更好的选择,你会考虑使用它吗?
在工作中,我们最近不得不将为SQL Server Express设计的项目迁移到SQLCE.起初我认为它会很糟糕,主要是因为没有存储过程.一旦我们开始挖掘它,并看到它提供的东西,我们确信这是正确的举措.它支持LINQ,查询很多数据比我们想象的要快得多.插入和更新速度有点慢,但实际上并不太糟糕.我们遇到的唯一问题是A)Management Studio 2005不支持它,虽然2008年确实存在,但它非常有限.不知道为什么,希望他们会在未来的版本中改变它,但它会让我感到害怕.B)当尝试将现有的SQL Server数据库迁移到SQLCE时,实际上没有简单的方法可以从现有的模式创建模式,并移动所有数据.您可能必须使用自己的工具(我们必须).
尽管如此,最终结果却是惊人的.由于用户不必安装SQL Express,因此安装时间减少到三分之一,并且应用程序在内存较少的计算机上运行得更顺畅.总而言之,我对它的实际效果感到惊讶.
我尝试了几个版本的SQLCE,并且最终总是使用优秀的ADO.NET SQLite实现 - 它更轻,更快,更容易使用(至少对我而言),并且几乎可以跨所有平台移植.