.net 如何直接显示CategoryName(子类别)而不是Category(父类别)?

von4xj4u  于 2023-02-17  发布在  .NET
关注(0)|答案(1)|浏览(149)

我有一份产品清单。

var products = await unitOfWork.ProductRepository.GetAllWithDetailsAsync();

这是模型,到目前为止还不错。

public class ProductModel
    {
        public int Id { get; set; }

        public int ProductCategoryId { get; set; }

        public string CategoryName { get; set; }

        public string ProductName { get; set; }

        public decimal Price { get; set; }

        public ICollection<int> ReceiptDetailIds { get; set; }
    }

我还有产品类别模型。

public class ProductCategoryModel
    {
        public int Id { get; set; }

        public string CategoryName { get; set; }

        public ICollection<int> ProductIds { get; set; }
    }

问题出在返回的Category名称上。它返回的不是正确的数据,而是Data. Entities. Product。在调试模式下,展开product之后,我可以展开Category,其中包含CategoryName -预期的字符串。

如何直接显示CategoryName而不是Category?

zy1mlcev

zy1mlcev1#

在您的UnitOfWork中请求包含类别.Include("Category")的产品时

public class ProductModel
    {
        public int Id { get; set; }

        public int ProductCategoryId { get; set; }

        public string ProductName { get; set; }

        public decimal Price { get; set; }

        public ICollection<int> ReceiptDetailIds { get; set; }

        public ProductCategoryModel Category { get; set; } 

        public string CategoryName => Category.CategoryName; 
    }

https://learn.microsoft.com/en-us/ef/ef6/querying/related-data

相关问题