开发工具与关键技术:mvc
作者:黄志鹏
撰写时间:2019/4/19
在MVC中查询有很多种方法,而简洁的查询方法对于初学者无疑对加快理解有很大的帮助。下面我们来说说单表查询中的不同方法。
首先,我们先说说为什么用List,因为我们查询的是多个字段,所以我们有一个列表来接收。
里面封装了两个字段,一个是Int类型的ID,一个是string类型的名称。
ListAcademe是查询方法的命名,form后面跟是范围变量。tbAcademe用来接收查询出来的数据命名。Models是之前实例化的一个数据(Models.CQUPTEntities myModel = new Models.CQUPTEntities();)Select是查询语句 后面跟 new的关键字。
id =tbAcademe.AcademeID,
text= tbAcademe.AcademeName
这俩句是赋值的意思。为什么要加ToList,因为 “List ListAcademe =”是一个list的集合,后面是一段查询的语句,所以要加一个ToList。
我们再来说说第二种查询方法,下面这种查询方式我们称之为Linq。我们先来看看源代码:
var是匿名类型关键字,。new后面没有跟一个具体数据类型。这叫一种匿名的类型,
匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型
select new
{
id =tb.AcademeID,
text =tb.AcademeName
};
我们不用故意的去声明什么,在执行的时候由编译器自动的去推断是什么样的类型。
我们再来看看第三种查询方法,我们称之为Lambda表达式,下面我们来看看源代码:
首先声明变量。直接是model里面的元素,model是我们实例化的数据模型,SYS_Academe是数据源也是数据库映射到模型的数据。select里面是方法体也是我们要查询的数据,
Select是查询的方法,m=>,m是一个参数。右边是是个方法体。
Select(m => new {
id= m.AcademeID,
text = m.AcademeName
});
id = m.AcademeID, text = m.AcademeName是需要查询的数据,AcademeID赋值给id,AcademeName赋值给text.