Asp.net mvc ViewModels应该留在UI层还是移动到另一层?

Asp.net mvc ViewModels应该留在UI层还是移动到另一层?,asp.net-mvc,Asp.net Mvc,我有UI层(带有ASP.NETMVC)、BLL层、DAL层和模型层。模型层拥有表示数据库中的表的POCO类 UI、BLL和DAL层都引用了模型层 在UI层中,我经常使用模型层中的POCO类向用户显示一些内容。但是当用户可以使用表单做一些事情时,我通常会创建带有验证属性的视图模型 我应该将ViewModels放在UI层还是将ViewModels移动到模型层?这确实是一个偏好问题,但我更喜欢将模型类(映射到数据库)与ViewModels分开。通过这种方式,我不会混淆哪些映射到数据库,哪些不映射到数据

我有UI层(带有ASP.NETMVC)、BLL层、DAL层和模型层。模型层拥有表示数据库中的表的POCO类

UI、BLL和DAL层都引用了模型层

在UI层中,我经常使用模型层中的POCO类向用户显示一些内容。但是当用户可以使用表单做一些事情时,我通常会创建带有验证属性的视图模型


我应该将ViewModels放在UI层还是将ViewModels移动到模型层?

这确实是一个偏好问题,但我更喜欢将模型类(映射到数据库)与ViewModels分开。通过这种方式,我不会混淆哪些映射到数据库,哪些不映射到数据库。

这实际上是一个偏好问题,但我更喜欢将我的模型类(映射到数据库)与ViewModels分开。通过这种方式,我不会混淆哪些映射到数据库,哪些不映射到数据库。

这实际上是一个偏好问题,但我更喜欢将我的模型类(映射到数据库)与ViewModels分开。通过这种方式,我不会混淆哪些映射到数据库,哪些不映射到数据库。

这实际上是一个偏好问题,但我更喜欢将我的模型类(映射到数据库)与ViewModels分开。这样,我就不会对什么映射到数据库和什么映射不到数据库感到困惑。

我个人在另一个项目中创建了我的viewmodels,并将它们包含在需要访问它们的所需图层中。这样,我就可以在其他项目中重用viewmodels

我的项目通常是这样设置的:

MVC项目(UI)
MVC视图模型(UI/服务层) 服务层+逻辑层(存储库) 数据库模型(ORM(Telerik DataAccess)层)

这样,我可以将所有数据库模型隐藏在服务层后面,并且只在UI和服务层之间传递viewmodels

但这是我喜欢的工作方式。我肯定还有其他人可能不同意我的项目设置,但这对我来说似乎是合乎逻辑的


这实际上取决于你的需要。如果您发现正在将DB模型转换为UI层中的viewmodels,那么我建议将它们移出,以便您可以在服务层中完成所有这些转换

我个人在另一个项目中创建了我的viewmodels,并将它们包含在需要访问它们的所需图层中。这样,我就可以在其他项目中重用viewmodels

我的项目通常是这样设置的:

MVC项目(UI)
MVC视图模型(UI/服务层) 服务层+逻辑层(存储库) 数据库模型(ORM(Telerik DataAccess)层)

这样,我可以将所有数据库模型隐藏在服务层后面,并且只在UI和服务层之间传递viewmodels

但这是我喜欢的工作方式。我肯定还有其他人可能不同意我的项目设置,但这对我来说似乎是合乎逻辑的


这实际上取决于你的需要。如果您发现正在将DB模型转换为UI层中的viewmodels,那么我建议将它们移出,以便您可以在服务层中完成所有这些转换

我个人在另一个项目中创建了我的viewmodels,并将它们包含在需要访问它们的所需图层中。这样,我就可以在其他项目中重用viewmodels

我的项目通常是这样设置的:

MVC项目(UI)
MVC视图模型(UI/服务层) 服务层+逻辑层(存储库) 数据库模型(ORM(Telerik DataAccess)层)

这样,我可以将所有数据库模型隐藏在服务层后面,并且只在UI和服务层之间传递viewmodels

但这是我喜欢的工作方式。我肯定还有其他人可能不同意我的项目设置,但这对我来说似乎是合乎逻辑的


这实际上取决于你的需要。如果您发现正在将DB模型转换为UI层中的viewmodels,那么我建议将它们移出,以便您可以在服务层中完成所有这些转换

我个人在另一个项目中创建了我的viewmodels,并将它们包含在需要访问它们的所需图层中。这样,我就可以在其他项目中重用viewmodels

我的项目通常是这样设置的:

MVC项目(UI)
MVC视图模型(UI/服务层) 服务层+逻辑层(存储库) 数据库模型(ORM(Telerik DataAccess)层)

这样,我可以将所有数据库模型隐藏在服务层后面,并且只在UI和服务层之间传递viewmodels

但这是我喜欢的工作方式。我肯定还有其他人可能不同意我的项目设置,但这对我来说似乎是合乎逻辑的


这实际上取决于你的需要。如果您发现正在将DB模型转换为UI层中的viewmodels,那么我建议将它们移出,以便您可以在服务层中完成所有这些转换

我将视图模型作为数据到UI的转换器。我为每个页面创建了一个视图模型,以便该页面中的所有控件都有绑定的对象。对我来说,使用页面各自的视图模型对页面进行分组是有意义的。看起来是这样的:

或者更好,使用以下工具嵌套视图和视图模型文件:


我将视图模型视为UI后面数据的转换器。我为每个页面创建了一个视图模型,以便该页面中的所有控件都有绑定的对象。对我来说,使用页面各自的视图模型对页面进行分组是有意义的。看起来是这样的:

或者更好,使用以下工具嵌套视图和视图模型文件:


我将视图模型视为UI后面数据的转换器。我为每个页面创建了一个视图模型,以便该页面中的所有控件都有绑定的对象。对我来说,将页面与i分组是有意义的