C#笔记——LinQ查询

一,什么是LinQ

LINQ是Language Integrate Query的缩写
是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询
目标是降低访问数据的复杂度,可以用统一的方法访问不同类型的数据,可以将数据作为对象使用

1,LinQ包括什么

–LINQ to Objects 用于对象的查询
–LINQ to XML 对XML数据的查询
–LINQ to ADO.NET 对数据库的查询
–LINQ to DataSets 数据集
–LINQ to Entities ORM对象
–LINQ to SQL 简易ORM框架

二,LinQ查询表达式

var a = from 表名 p in 数据源 where 条件 select new { p.name,p.remark };

三,实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            RbacDBEntities db = new RbacDBEntities();
            //查询用户的角色及名称含有主任的用户
            //,查询语法
            var user = from UserInfo p in db.UserInfos
                       where p.Name.Contains("主任") && p.RoleID==1
                       select new { n=p.Name,r=p.Role.Name};
            //,方法语法
            var users = db.UserInfos
                .Where(p => p.Name.Contains("主任"))
                .Select(p => p)
                .ToList();
            Console.WriteLine("名称\t\t\t角色");
            foreach (var item in user)
            {
                Console.WriteLine(item.n + "\t" + item.r);
            }

            //显示各角色的用户 显示角色ID 和用户数量
            var userss = from UserInfo p in db.UserInfos
                         group p by p.RoleID into g
                         select new {role=g.Key,r=g.Count()};   //g.key根据你查询的主键
            Console.WriteLine("角色ID\t数量");
            foreach (var item in userss)
            {
                Console.WriteLine(item.role + "\t" + item.r);
            }

            //求用户数
            var unum = db.UserInfos.Count();
            Console.WriteLine("用户数:"+ unum);
            //roleID最大值
            var max = db.UserInfos.Max(p => p.RoleID);
            Console.WriteLine("roleID最大值:" + max);
            //roleID最小值
            var min = db.UserInfos.Min(p => p.RoleID);
            Console.WriteLine("roleID最小值:" + min);
            //roleID总和
            var sum = db.UserInfos.Sum(p=>p.RoleID);
            Console.WriteLine("roleID总和:" + sum);
            //roleID平均值
            var avg = db.UserInfos.Average(p => p.RoleID);
            Console.WriteLine("roleID平均值:" + avg);
            
            Console.Read();
        }
    }
}
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值