单表查询
1:linq 单表查询的写法
(from 自定义的表名 in Model对象.查询的表
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【orderby 自定义的表名.字段】
【select 自定义的表名】
【select new {[属性名1= ]自定义的表名.字段1,
[属性名2= ]自定义的表名.字段2,
[属性名3= ]自定义的表名.字段3,
}】
【select new 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,
}】
).Single();//查询单条数据,当没有数据或者有多条数据时会触发异常
.SingleOrDefault();//查询单条数据,当没有数据返回默认值(对象的默认值为null);当有多条数据时触发异常
.ToList();//查询多条数据并转为List
.Count();//查询有多少条数据
列子: S_User dbUser = (from tabUser in myModel.S_User
where tabUser.jobNumber == jobNumber
select tabUser).Single();
多表查询
1多表查询的写法
(from 自定义的表名 in Model对象.查询的表
Join 自定义的表名 in Model对象.查询的表 on 连接 equals 相等
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【select 自定义的表名】
【select new 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字2,
}】
).Single();//查询单条数据,当没有数据或者有多条数据时会触发异常
.SingleOrDefault();//查询单条数据,当没有数据返回默认值(对象的默认值为null);当有多条数据时触发异常
.ToList();//查询多条数据并转为List
.Count();//查询有多少条数据
列子: public ActionResult SelectPNR(LayuiTablePage layuiTablePage,string PNRNo,string passengerName,string flightCode,string flightDate)
{
var tempPNRInfor = from tbPassenger in myModel.B_PNRPassenger
join tbPNR in myModel.B_PNR on tbPassenger.PNRID equals tbPNR.PNRID
join tbSegment in myModel.B_PNRSegment on tbPNR.PNRID equals tbSegment.PNRID
join tbFlight in myModel.S_Flight on tbSegment.flightID equals tbFlight.flightID
select new{
PNRID = tbPNR.PNRID,
passengerName = tbPassenger.passengerName,
flightCode = tbFlight.flightCode,
PNRNo = tbPNR.PNRNo,
PNRStatus = tbPNR.PNRStatus,
flightDate = tbFlight.flightDate
}.ToList();