码迷,mamicode.com
首页 > 数据库 > 详细

Linq To Sql的各种查询

时间:2015-09-23 14:47:59      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

一、Inner Join

  //request为查询条件
  var result = from a in db.TableA
 join b in db.TableB
 on a.ID equals b.ID
 where a.UserName == request.UserName || a.Mobile == request.Mobile
 select new ResponseInfo
 {
     UserName = ui.UserName,
     UserID = ui.ID,
     Mobile = ui.Mobile,
     Value = ue.Value
 };
 
二、Left  Join
//request为查询条件
var result = from si in db.TableA
     join ai in db.TableB on si.UserID equals ai.ID into ljTableB
     from ai in ljTableB.DefaultIfEmpty()
     join pi in db.TableC on si.ProductID equals pi.ID into ljTableC
     from pi in ljTableC.DefaultIfEmpty()
     join ps in db.TableD on si.SpecID equals ps.ID into ljTableD
     from ps in ljTableD.DefaultIfEmpty()
     select new InfoResposne
     {
         ID = si.ID,
         DisplayID = pi.DisplayID,
         ProductID = si.ProductID,
         ProductName = pi.ProductName,
         BarCode = pi.BarCode,
         SpecID = si.SpecID,
         Created = si.Created
     };
 
二、动态添加查询条件及翻页
//字符串
if (!string.IsNullOrWhiteSpace(request.DisplayID))
{
    result = result.Where(p => p.DisplayID == request.DisplayID);
}
//字符串包含
if (!string.IsNullOrWhiteSpace(request.UserName))
{
    userInfo = userInfo.Where(p => p.UserName.Contains(request.UserName));
}
//数字、状态类型
if (request.Amount!=null)
{
    result = result.Where(p => p.Amount == request.Amount);
}
//时间范围
  if (request.StockInStart != null)
{
    result = result.Where(p => p.Created >= request.StockInStart);
}
//时间范围
if (request.StockInEnd != null)
{
    result = result.Where(p => p.Created <= request.StockInEnd);
}
 
var response = new LogResponse();
response.TotalCount = result.Count();
response.DataList = result
            .OrderByDescending(p => p.Created)
            .Skip((request.PageIndex - 1) * request.PageSize)
            .Take(request.PageSize)
            .ToList();

Linq To Sql的各种查询

标签:

原文地址:http://www.cnblogs.com/gossip/p/4832046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!