你可以使用任何数据库来打造你的自定义模型,然而,Cuyahoga是基于NHibernate持久层的,这能为你的工作带来方便性!
本节讲的模型是cuyahoga.modules.downloads,这已经包含在程序当中,此模型是基本的,只不过是一个比较先进复杂点的模型。
domain
我们首先从业务逻辑开始,这个例子几乎没有什么高深的业务逻辑,也许你会问为什么要这样的一个类?好的,这是为了一致性(当业务较大时,业务逻辑可以搞得很复杂)。以及在解决方案中有一个比较好的基础设施。
这个下载模块其实很简单的:用户可以下载文件和访问特定的文件,有时可以加以限制向一个或多个特定的角色。
这个类包含元数据的物理文件和一些方法来执行授权检查。请注意,Cuyahoge在此中的核心类。(请参见Section, User and Role)
database
Mapping the class to the database
Nhibernate需要知道类如何映射到数据库表的,大部分的时候,有一个类的映射文件。在这种情况下,我们有映射文件file.hbm.xm了
cm_file_fileid_seq File.hbm.xml