数据访问技术之数据集 Ling to SQL--20180130

Ling to SQL不仅允许以标准的对象访问方式来访问对象模型,而且可以使用非常类似于SQL语句的查询表达式来操作对象模型。

利用VS2010新建一个项目,在项目中添加Ling to SQL类,将数据库连接后将所需要的表拖入到后缀为“.dbml”的项目中。

Ling to SQL实现增删查改操作,代码如下:

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

namespace LinqToSQL
{
    class Program
    {
        static void Main(string[] args)
        {
            OrderLinqDataContext od = new OrderLinqDataContext();
            //1.插入操作
            //Insert(od);

            //2.查询操作
            //Query(od);

            //3.更新操作 
            //Update(od);

            //4.删除操作
            //Delete(od);

            //5.where语句:查询Employee表中为“职员”的员工
            //QueryAndWhere(od);

            //6.Distinct:删除Employee表中重复的列
            //Distinct(od);

            //7.AVG/COUNT/SUM/MIN/MAX:取得Employee表中员工的平均薪酬
            //AVG(od);

            //8.GROUP BY:选出每一职称员工的最高薪酬、最低薪酬及平均薪酬
            //GroupBy(od);

            //9.1 内连接
            //InnerJoin(od);

            //9.2 外连接
            //OuterJoin(od);

            //10.ORDER BY:排序
            //OrderBy(od);

            //11.EXISTS:选出没有下订单的客户
            //Exists(od);

            //12.WHERE IN:查看指定的几个客户的定单
            //WhereIn(od);

            //13.UNION ALL/UNION:Concat不会去除重复项目,相当于SQL的Union All;而Union会去除重复项,相当于SQL的Union
            //Union(od);

            //14.Intersect/Except(是用复合查询+EXIST实现的)
            //IntersetAndExcept(od);

            //15.Skip-Take(是用ROW_NUMBER()函数实现的)
            //Skip_Take(od);

            //16.直接执行SQL语句查询:缺点就是失去了编译器检查的功能,并且得自己构建好一个类,用于存放数据(如果此类还没有的话)。
            //SQLQuery(od);

            //17.First/FirstOrDefault/Single(是用TOP实现的):选出No为“E2005001”的员工
            /*First – 至少有一条,否则抛异常
              FirstOrDefault – 如果一条都没有,则返回默认值(对象的话默认值就是null)
              Single – 有且只有一条,否则抛异常*/
            Single(od);

            //18.CASE WHEN
            //CaseWhen(od);

        }

        private static void Skip_Take(OrderLinqDataContext od)//Skip().Take()
        {
            //获取第2个产品开始的5个产品
            var result = (
                         from p in od.Product
                         select p
                         ).Skip(2).Take(5);
            foreach (var item in result)
            {
                Console.WriteLine(item.productName);
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值