连接数据库
Linq语句查询,目前的学习进度来说也就是我们的单表和多表查询
它为匿名类型查询提供了一种很方便的方法,可用来将一组只读属性封装到单个对象中,而且还不需要先定义一个显示类型,因为它的类型名字直接由编译器生成,而且每一个属性的类型都是由编译器推断
我们先试一下如何用linq语句查询
Var匿名类型的关键字,是定义数据类型的间接方式
首先我们用中文来理解一下怎么去查询
比如你要查询某个学院有什么专业
Var??(??代表一个量)=from?? InmyModel专业(在数据库里查找表)
Select new(挑选你所需要的数据)
{
Id=??。它的id
Text=??。它的名字
}
看完这个之后我们用一个简单例子来总结一下
根据学院ID查询年级信息
Public ActionResult SelectGradeByAcademeID(intAcademeID)【在学院ID里面找年里的信息】{
var listGrade=(from tbGrade in myMdel。SYS_Grade
join tbAcademe in myModel.SYS_Academe on tbGrade.AcademeID equals tbAcademe.AcademeID
where tbGrade.AcademeID==AcademeID
select new
{
Id = tbGrade.GradeID,
text=tbGrade.GradeName
}).ToList();
Return Json(listGrade,JsonRequestBehavior.AllowGet);
}
看完这串代码,我们可以吧上面的理解套入进去理解一下,
我们来一句一句的分析它:
Var listGrade=(from tbGrade in myModel.SYS_Grade
(from tbGrade in myModel.SYS_Grade赋值给listGrade
Join tbAcademe in myModel.SYS_Academe
Join(重新命名).tbAcademe in myModel.SYS_Academe学院数据里的数据
On tbGrade.AcademeID equals tbAcademe.AcademeID
根据ntbGrade.AcademeID equals(连接) tbAcademe.AcademeID
Where tbGrade.AcademeID==AcademeID
在tbGrade.AcademeID里==AcademeID它的时候
我们就在这个表里面去挑选我们所需要的东西
Select new{
Id=tbGrade.GradeID,
Text=tbGrade,GradeName
}).ToList();
Id=tbGrade.GradeID,年级的id
Text=tbGrade.GradeName年级的名字
Return Json(listGrade,JsonRequestBehavior.AllowGet);
这是使用的linq语句查询后的效果图
)