在使用EF框架之前,要先确定如下几个问题:
1)、你的VS已经安装了EF包,我用的是VS2012自带的5.0版本,.NET版本要求4.0或更高;
2)、安装sqlite(只能安装X86版本),官方网站下载地址是:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
根据vs版本不同选择下载的安装包也不相同,常用有:
适用于vs2012:http://system.data.sqlite.org/downloads/1.0.85.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.85.0.exe
适用于vs2013:http://system.data.sqlite.org/blobs/1.0.92.0/sqlite-netFx451-setup-bundle-x86-2013-1.0.92.0.exe
适用于vs2015:http://system.data.sqlite.org/downloads/1.0.105.2/sqlite-netFx46-setup-bundle-x86-2015-1.0.105.2.exe
3)、安装ado.net驱动,右键项目选择“管理 NuGet 程序包”,切换到“浏览”标签搜索“sqlite”,选择第一个结果“System.Data.SQLite”安装即可。
1 打开EF项目后,新建个实体数据模型,如下:
2 点击添加,如下图,并选择“从数据库生成”,继续“下一步”
3 如下图示,默认情况下,你向导窗口中不一定有链接字符串:
4 点击“新建连接”,如图示:
5 选择“更改”按钮,以选择SQLite数据库:
注意:如果你的这一步中没有“System.Data.SQLite Database File”选项,需要先安装SQLite驱动,需要安装这个:http://system.data.sqlite.org/downloads/1.0.85.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.85.0.exe。
6 选择“System.Data.SQLite Database File”后点击确定,进入如下图示:
7 点击“Browse...”选择Web/App_Data目录下的db.s3db数据库文件,再点击“确定”,进入如下图示:
8 选中“将App.Config中的实体连接设置另存为:”,并输入为“SQLiteEntities”,再点击“下一步”:
9 选中“表”(所有的数据表会自动选中),以及下面的两个复选框:“确实所生成对象名称的单复数形式”和“在模型中包括外键列”,修改“模型命名空间”为“SQLiteModel”后点击“完成”。
此时,系统会自动生成SQLiteContext对象以及实体类。打开 “SQLiteModel.demx”后,需要适当修改,把Category的两个导航属性Category1和Category2分别改为Categories、Parent
保存后,最终如下:
10 此时再看下EF项目的结构,如下图示:
下一篇开始讨论EF5中DbContext的生命周期问题。