• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
丶白
博客园    首页    新随笔    联系   管理    订阅  订阅

LinQ各种方式查询、组合查询、IQueryable集合类型

1、模糊查询(包含)

Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList();

2、开头查询

Repeater1.DataSource = con.car.Where(r =>r.name.StartsWith(s)).ToList();

3、结尾查询

Repeater1.DataSource = con.car.Where(r =>r.name.EndsWith(s)).ToList();

4、个数显示

IEnumerable<car> clist = con.car;
int count =clist.Count;

5、最大最小值平均值

con.car.Max(r => r.price);
con.car.Min(r => r.price);
con.car.Average(r => r.price);

6、求和、升序、降序

con.car.Sum(r => r.price);
Repeater1.DataSource = con.car.OrderBy(r => r.price);
Repeater1.DataSource = con.car.OrderByDescending(r => r.price);

7、分页

  集合的Skip方法:跳过多少条数据

  Take方法:取前多少条数据  

int count = 4;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (Data0928DataContext con = new Data0928DataContext())
            {
                Repeater1.DataSource = con.Users.Take(count).ToList();
                Repeater1.DataBind();
            }
        }
    }
分页查询

8、组合查询

using (DataClassesDataContextcon = new DataClassesDataContext())
        {
            IQueryable<Users> ulist = con.Users;
            if (name.Length > 0)
            {
                ulist = ulist.Where(r => r.UserName.Contains(name));
            }
            if (nick.Length > 0)
            {
                ulist = ulist.Where(r => r.NickName.Contains(nick));
            }
           if (brt.Length > 0)
        {
            string aa = DropDownList1.SelectedValue;
            if (aa == "=")
                clist = clist.Where(r => Convert.ToDateTime(r.birthday).Year == Convert.ToInt32(brt));
            if (aa == ">")
                clist = clist.Where(r => Convert.ToDateTime(r.birthday).Year >Convert.ToInt32(brt));
            if (aa == "<")
                clist = clist.Where(r => Convert.ToDateTime(r.birthday).Year < Convert.ToInt32(brt));
        }
            Repeater1.DataSource = ulist.Take(count);
            Repeater1.DataBind();
        }    
组合查询

9、集合的交集

  集合的Intersect方法,取两个集合的交集

var allList = nameList.Intersect(brandList);

 

posted @ 2017-02-10 11:18  丶白  阅读(1997)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3