use*_*662 2 c# asp.net-mvc class
假设我有一个包含所有模型类的项目,其中包含一个包含MVC 4 Web应用程序的单独项目(服务,存储库层也是如此).
如果我想为我的模型属性使用MVC特定数据注释,我如何在不依赖MVC的情况下执行此操作?
任何引用该模型的非MVC项目也需要MVC引用.我希望这些仅在MVC使用模型时添加,而不是所有内容.
最初我在考虑部分课程,但我知道这些不能用于跨组装.
制作克隆类并从模型类之外的原件继承可能不起作用.它需要代码引用这些子类而不是原始类.
我更喜欢以更不引人注目的方式将属性附加到模型中.
如果我想为我的模型属性使用MVC特定数据注释,我如何在不依赖MVC的情况下执行此操作?
通过使用视图模型.视图模型是您在MVC应用程序中设计和定义的类,以及传递给视图的类.您永远不应将模型传递给视图.您的控制器操作可以在服务层中查询域模型,然后将这些域模型映射到视图模型并将这些视图模型传递给视图.另一方面,[HttpPost]控制器操作应将视图模型与相应的数据注释作为参数,将这些视图模型映射到其对应的域模型,并将域模型传递到服务层.
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |