这两个我在MSDN已看过定义,不知道各位大侠在实际项目的使用场景没有用过这两个?区别是什么?
之所以提出这个问题,是在看Dapper的代码的时候,Dapper的实现基本上都是用SqlCeConnection去实例化数据库连接对象的,所以就比较奇怪为什么不用SqlConnection去实例化?
SqlConnection与SqlCeConnection的区别
1.SqlConnection提供了更安全的方式指定来使用Sql Server身份验证的尝试密码
2.SqlConnection的可以处理T-Sql的语句
3.SqlConnection可以异步操作任务
...
总结:SqlConnection除了实现SqlCeConnection的功能,还扩展了其他的功能。所以目前都在使用SqlConnection,而SqlCeConnection在2010版本之后就没在更新。
CE: Windows CE,这是一种远古动物,目前已列入国家二级珍稀保护动物之列,普通人普通场景下是看不到这种动物的。
所以你可以不用理他。
这里的CE不是Windows CE哦~
@幻天芒: 原来的设计就是用在Windows CE上的。
Windows CE上可以安装一个SQL 引擎的,不过用处不大。
一般处理上,要么是直接保存为文本或XML文件,
要么就是直接连接到服务器上的数据库了,这个就是直接使用SqlConnection了,我去年做过一个PDA的项目。就是直接连接到PC服务器的。
@爱编程的大叔: 大哥,麻烦看下我的问题补充,请指教!
@爱编程的大叔: 好吧,,,不过现在CE适用范围更广了嘛。
@幻天芒: 估计只有微软死忠粉才会在不用WINDOWS CE的时候才安装SQL COMPACT吧。
就算是我除了微软啥都不懂的情况,我也会用Sqlite而不是SQL COMPACT的。
@爱编程的大叔: 表示我也用Sqlite的路过...
这里的SqlCe是针对MS的SQL Server Compact数据库。这是个文件数据库,实现了部分sql server的功能。你把它们当成两个不同的数据库连接实现就可以了。类似的还有OleDbConnection等。
你这个对比的例子不妥,因为 OleDbConnection 可以作为 Sql Server 服务器的客户端,而 SqlCeConnection 不行。同 SqlCeConnection 类似的是 OracleConnection,SqlliteConnection。
大哥,麻烦看下我的问题补充,请指教!
@Launcher: 大哥,麻烦看下我的问题补充,请指教!
@落叶飞逝的恋: 每种语言的初级教程都用输出"hellow world"作为例子,你就不奇怪为什么不用"hellow 落叶飞逝的恋"吗?
@Launcher: 嗯。 可能有点不太准确,我是想说这个其实就是另外一种类型数据库的连接实现。
@落叶飞逝的恋: 你确定你看的是核心代码?我估计你看的是SqlCe的DbProvider吧。
@Launcher: 我知道你的意思,我也明白这个是数据库连接,就正如他用"hello 落叶飞逝的恋" 而不用正常的"hello world" ?还有就是我们一般为什么不用Sqlceconnection 而用SqlConnection?
@落叶飞逝的恋: 你看的是Dapper的示例,那里面确实用了SqlCEConnection,
SqlCEConnection是用于连接SQL Compact的,你知道这个就行了。
Dapper的核心代码还是用的SqlConnection的,我刚刚看了一下。
不过Dapper我不熟悉,没有全部代码研究过,就是有下载了一个看看。
有个家伙比较熟悉Dapper,估计这两天没空。
@落叶飞逝的恋: 如果你要用 SqlConnection 写示例程序,你是不是要安装 Sql Server 服务器?而如果用 SqlCeConnection,你是不是就不用安装 Sql Server 服务器了?别人要是使用你用 SqlConnection 写的示例程序,是不是还得安装个 Sql Server 服务器才能运行?为了让学习者不用安装 Sql Server 服务器,也不用配置数据库连接字符串,编译示例程序后就能直接运行以体验 Dapper 的诸多功能,使用 SqlCeConnection 是不是最佳的选择?所以使用 SqlCeConnection 写示例程序就是为了满足你这样的用户的需求,免得你们一拿到程序后运行不起来就问:
1、为啥报错啊?
2、啥?还要安装 Sql Server 服务器?
3、我安装了啊,怎么还运行不了?
4、哦!还要配置连接字符串?
5、配置了也不行啊?
6、哦!还要打开防火墙端口哦啊!
7、还是不行啊?
8、哦!Sql Server Express 不允许远程连接。
....
n、终于运行起来了。
@爱编程的大叔: 哪个大神?求指教。自己功力还不深厚,看Dapper的怎么实现还是比较吃力。。。
@Launcher: 嗯,谢谢!
@Launcher: 佩服~~~!想得好周到~
楼上说的对