填坑 - 使用Entity Framework 6 + Sqlite进行DB first开发
Sqlite团队也是渣啊,到第6代了还不支持Code First。
1、安装运行环境和组件
1.安装SQLite的Visual Studio设计器支持
只有安装了它,在【新建ADO.NET实体数据模型】时才会有Sqlite的数据源选项。我的环境是64位+VS2013,这里使用的是VS2013,对应的是sqlite-netFx451-setup-bundle-x86-2013-1.0.98.0.exe。
什么?我为什么下载X86的?因为我发现X64缺失了一些选项(Install the desgner components for VS2013),X86版是完整。当然也可能是因为我的VS是32位的。这里如果各位使用的是VS2012,也有相对应的版本,更多版本请移步:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki。
安装过程如下:
第一步要选全部安装
一定要选中以上的选项,Next
过程略久,大概3~5分钟。
安装完成会弹出,点完成即可。
2.安装在项目中安装Sqlite组件(使用NuGet)
依次打开VS菜单:工具 => NuGet程序包管理器 => 管理解决方案的NuGet程序包。
搜索sqlite,点击安装,显示绿色的称号表示已经安装成功。
2、示范
安装完成后,执行步骤:【新建 => ADO.NET实体数据模型 => 来自数据库的EF设计器 => 新建连接】,
可以看到增加了SQLite数据库源的选项。必须要安装VS设计器支持后它才会出来,是因为NuGet帮我们在配置文件中增加了Sqlite的Provider。
呵呵,原谅我是Retina屏,原谅我用mac装windows。
到这一步就可以选择、创建Sqlite数据库文件了。
生成的模型图,edmx文件
后记:第三方有支持Sqlite Code first的组件,感兴趣的盆友可以了解下:https://github.com/msallin/SQLiteCodeFirst