如何通过ORM生成调用的类?

时间:2014-03-04 22:55:49

标签: orm model separation-of-concerns

我在应用程序中的对象名称有些问题。例如,任何ORM(NHibernate或实体框架)生成的类都称为域对象?实体?模型对象?他们是DAO吗?它们之间有什么区别?

由于

1 个答案:

答案 0 :(得分:1)

表示数据库表的类称为域,通常每个表都有一个域类(多对多关系表除外)。

要将此域类映射到您的实际数据库,您将(通常再次)为每个域类创建一个映射类,当您声明该表时,应将每个域成员映射到的不同数据库字段。

您现在拥有一个数据访问层(DAL),用于选择,更新,插入或删除映射到您数据库的域类。

但是,如果您构建一个使用DAL的应用程序,您肯定会使用DTO或模型。模型是要在应用程序中显示的对象,通常与域不同。它可以是字段的格式,删除纯数据库字段的数据子集,两个不同域的合并。

因此,您的应用程序只会操作DTO(或模型),当应用程序创建/更新/删除DTO时,您的服务器将管理DTO和域之间的转换。

DATABASE< => MAPPING< => DOMAIN< => DTO