因为最近没有时间深入的研究EntityFramework的内部机制,所以具体的实现并不十分了解。微软最初的初衷是开发出一套通用的数据库访问逻辑,实现对Dal数据访问层的高度封装,其中就用到了工厂模式和抽象工厂模式。
在以下的说明中我主要以创建一个简单的web工程来讲解,Sqlite下EntityFramework的伪CodeFirst模式的实现。
说明:以下Sqlite实现不支持CodeFirst的(Migration)数据库迁移,数据库是事前创建好的
1.我们首先建立一个空的WebApplication1
2.我们给当前的工程添加EntityFramework.dll类库,并使用Nuget来维护我们的程序包(Packages),如图所示:
在这里安装EntityFramwork的时候我带上了版本号,因为EntityFramework5用的比较多,所以这里还是用老版本好了(2014年2月22日当前最新版本是6.0)。EntityFramework.dll在Nuget上的官网位置为:
http://www.nuget.org/packages/EntityFramework/
3.EntityFramework安装好了以后,我们就要添加Sqlite的dll程序集了,我这里下载了2个文件直接放在了项目的bin目录下,如下图:
当然我们也可以使用