model,entity,dto,viewmodel这些新手比较迷茫到底有什么区别,
说白了都是一个类,里面有些属性字段。
那怎么区分他们,我说的简单点吧,我的理解是这样的:
model是一个模型,里面装了各种数据,将一个model传递给view,在试图页面就可以使用model里面的数据来呈现到页面上。
而entity是实体,就是和数据表一一对应的,一个实体一张表。
官方的demo没有entity这个说法,他只有model,model就是表,也是传递给view的model,就是说他的model即是model又是entity。而我们实际运用需要将model分成ViewModel和Entity,甚至还要加入Dto。
因为那个案例很简单,比如详细介绍页面直接返回一个model,这个model就是表中的一条数据。但是在我们实际建站需求中页面上怎么可能只需要一条数据就完了,很多时候还需要其他的数据,比如新闻内容页面需要的有新闻的各种字段、最新文章10条、最热文章10条。
那这个视图就需要这样一个VIewModel:
public class NewsDetailModel{
public news{get;set;} //这片新闻的全部数据
public list<news> LastNews{get;set;} //最新10篇新闻
public list<news> HotNews{get;set;} //最热10篇新闻
}
而新闻实体entity(新闻表):
public class news{
public int ID{get;set;}
public string Title{get;set;}
public string Content{get;set;}
public int Clicks{get;set;}
public datetime PostTime{get;set;}
}