当前位置 : 主页 > 网络编程 > ASP >

model-view-controller – 将模型转换为viewmodel

来源:互联网 收集:自由互联 发布时间:2021-06-24
参见英文答案 Where to convert business model to view model?2个 我有一个表名“Product”和另一个表名“category”. 产品表有’productID’,’productName’和’CategoryID’. 类别表有’categoryID’和’categ
参见英文答案 > Where to convert business model to view model?                                    2个
我有一个表名“Product”和另一个表名“category”.
产品表有’productID’,’productName’和’CategoryID’.
类别表有’categoryID’和’categoryName’.

我的目标是显示带有类别的产品列表.该列表将包含“产品ID”,“产品名称”和“类别名称”.

我创建了一个viewmodel.代码是

public int prodID{get;set;}
public int prodName{get;set;}
public int catName{get;set;}

在我的控制器中,我有:

var query= from p in dc.Product
                      select new {p.ProductID,p.ProductName,p.Category1.CategoryName };
var prod = new ProductIndexViewModel()
        {
            ProductList=query //this line is problematic !!it says an explicit conversion exists....
        };
        return View(prod);

我如何编写我的控制器代码,以便它与viewmodel匹配?

也许你会直接使用你的视图模型类:

var query = from p in dc.Product
                    select new ProductIndexViewModel() { 
                        prodID = p.ProductID, 
                        prodName = p.ProductName, 
                        catName = p.Category1.CategoryName 
                    };

        List<ProductIndexViewModel> productForView = query.ToList();
网友评论