前不久做Asp.net的时候,使用过Sql Ce4作为数据库感觉很顺手也很方便,还写了试用笔记与园子的人分享自己当时的喜悦。然而近期想做一个关于taobao自动发货的自用型小程序,需要将订单、商品和买家的信息通过taobao Api 导入到自己的数据库中,用大型数据库感觉大材小用,就寻思着用Sql Ce4吧。结果,发现Sql Ce4.0只支持Asp.net网站型的工程,对于Winform和WPF工程不能使用EF,没法生成Edmx文件,具体表现就是找不到Sql Server Compact 4.0的驱动程序,如图:
如果要使用EF的话,最简单的方法还是:安装SQL Server Compact Toolbox这个VS插件。
具体操作步骤如下:
1、创建数据库,双击sdf文件,通过“服务器资源管理器”添加数据表如下图:
2、轮到Sql Server Compact Toolbox上场了,从工具菜单打开,或者从“服务器资源管理器”工具栏的最后一个图标打开。
右键点击数据库,从快捷菜单中选择“Add Entity Data Model to current Project”。
3、生成Edmx实体模型。遗憾的是:在CE数据库Designer上没有找到建立数据库表间关系的方法(谁知道告诉我啊!),只好在实体层建立关系如同:
4、值得注意的是需要选一下“代码生成策略",否则不会生成代码。
为什么要用Sql Server CE4?
对我来说主要有以下3点:
1、能很好的支持EF,没办法用惯了EF。
2、零安装,用于部署或发给别人时,开箱即用,类似SQLite。
3、与VS很好的集成,用起来方便。
当然主要还是小规模的应用,使用场景决定选型。