如何为嵌套域对象设计DTO类

  • 本文关键字:DTO 对象 嵌套 automapper dto
  • 更新时间 :
  • 英文 :


我是新手。

我有两个域类:

  1. 产品
如下

public class Category
{
    // Properties
    public int Id { get; set; }
    public string Name { get; set; }
    // Navigation properties
    public virtual Category ParentCategory { get; set; }
    // Foreign key
    public int? ParentCategoryId { get; set; }
    // Collections
    public virtual ICollection<Product> Products { get; set; }
    public virtual ICollection<Category> Subcategories { get; set; }
}
public class Product
{
    // Properties
    public int Id { get; set; }
    public string Name { get; set; }
    // Navigation property
    public virtual Category Category { get; set; }
    // Foreign key
    public int CategoryId { get; set; }
}

我想使用Automapper。

我不确定如何为上述聚合(图)设计dto。

  • CategoryDTO应该有ProductDTO类型的集合还是Product类型的集合?
  • ProductDTO应该有一个CategoryDTO作为导航属性或Category或只是一个Id到Category ?

谁能建议dto的代码?这个结构应该如何被平面化(如果应该的话)并映射到域类?

提前感谢。

我将dto设计为仅用于MVC的特定控制器动作的数据。通常这意味着如果我有一个CategoryController,然后我有一个CategoryIndexModel, CategoryDetailsModel, CategoryEditModel等等。只在屏幕上显示你想要的信息。我尽可能地扁平化,除非我有一个Partial或collection,否则我不创建子dto。

相关内容

  • 没有找到相关文章

最新更新