0

我正在开发一个 ASP.NET MVC 应用程序,使用 SQL Dapper 进行检索,使用 NHibernate 进行 CRUD。我在层分离方面遇到了一些问题。

我有存储库说 UserRepository 具有公共 User GetUsersList()方法。这里的“用户”是一个 NHibernate 实体。这里的问题是我需要在 UI 中显示一个字段,该字段不作为用户中的属性存在,例如我直接从 SQL 查询中检索的“HasAltContacts”。

现在,我的问题是我是否需要创建单独的 DTO 并留下这些 NHibernate 实体并围绕这些类构建存储库(至少 READ METHODS)?

4

1 回答 1

0

这里的“用户”是 NHibernate 实体。这里的问题是我需要在 UI 中显示一个字段,该字段不作为用户中的属性存在,例如我直接从 SQL 查询接收的“HasAltContacts”。

定义一个视图模型,该模型将包含您的视图所需的所有属性。然后让您的控制器操作通过查询您拥有的各种数据源来填充此视图模型,并将此视图模型传递给视图。

于 2012-08-17T07:02:00.017 回答