整个CRUD流程顺利跑下来,我相信有人肯定对一点非常困惑:
数据库呢?我怎么没有看到建立数据库或生成数据表等类似操作?
非常到位!您对网站的基础——数据存储(持久化)——方面给与了充分的关注。而这正是 wojilu ORM 的一个特点。
wojilu ORM 强调以领域模型为中心,而不是以数据库为中心。所以在上面的整个流程中,您只看到建立领域模型Article类,却完全没有看到任何数据库的操作。
那是不是说 wojilu ORM 不使用数据库?当然不是!wojilu ORM一定会使用数据库,只不过将使用的过程彻底自动处理了:
1、当网站首次启动,并有请求到达网站的时候,ORM开始检查数据库;
2、如果配置了数据库连接字符串,则判断是哪种类型的数据库
a)如果是sqlserver数据库,则登录数据库服务器,根据领域模型的元数据,检查数据表是否存在,如果不存在,则自动建立数据表
b)如果是access数据库,则检查网站文件夹下面是否存在access数据库文件。如果不存在,则建立access文件。接着检查数据表,流程同上。
——以上检查数据库和数据表的操作只在网站第一次启动的时候执行,所以不会对系统性能造成影响。当然了,您也可以修改配置文件,让ORM跳过这个检查过程。
现在,您可以打开网站文件系统,是不是在网站根目录下发现了一个 wojilu.mdb 的文件?这个文件就是程序自动生成的。
如果您足够感兴趣,您可以立马就将这个数据库文件删除,再跑一遍程序试试。您会发现网站又回到数据空空的状态,您可以再次添加数据、修改数据、删除数据……
这种清空数据的方式,有时候非常方便。
总结一下:wojilu ORM 会根据领域模型自动建立数据库和数据表
-------------------【发布】-----------------------
如果你想将项目发布到IIS上,请将wojilu.cms.web中的内容通过 ftp 上传到服务器上,注意:请不要使用 visual studio 的发布功能,它在发布过程中往往会删除某些关键文件,会导致项目运行出错。