在哪里我应该添加属性,主要是在视图中使用,在实体对象或包装类

本文关键字:实体 对象 包装类 视图 我应该 属性 在哪里 添加 | 更新日期: 2023-09-27 18:16:41

Product Entity对象被传递给View。我想添加一些只涉及视图的属性,比如

public string MiddleImage
{
   get
   {
      return "M" + this.ImageUrl;
   }
}

现在我可以在视图

中使用这个属性了
<img src="<%=Model.MiddleImage%>" />

我的问题是我应该在哪里添加这个属性,在产品实体对象本身,或者最好创建另一个类,从Product继承?

public class ProductWrapper : Product
{
    public string MiddleImage
    {
       get
       {
          return "M" + this.ImageUrl;               
       }
    }
}

在哪里我应该添加属性,主要是在视图中使用,在实体对象或包装类

我会创建一个ProductViewModel类,它持有只有你的视图关心的属性,当然可以包括任何新形成的UI属性,如你的图像url。

然后节省一些体力劳动,在控制器中使用AutoMapper将这些属性从实体映射到视图模型。

在映射后分配视图模型的自定义属性。

您的Product实体映射到您的持久性存储,您的ProductViewModel映射到您的用户界面-正是MVC试图实现的关注点分离。