这也是今天课堂上的一个简单例子,演示了如何使用LINQ to SQL的技术,以及C# 3的一些新特性
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace LINQtoSQLSample
- {
- class Program
- {
- static void Main(string[] args)
- {
- //利用LINQ TO SQL实现快捷高效的数据库访问
- //0.准备:创建DataContext对象
- TraceModelDataContext context = new TraceModelDataContext();
- context.Log = Console.Out;
- //var context2 = new TraceModelDataContext();
- //C# 3的新语法,var关键字是表示类型推断
- //var context3 = new TraceModelDataContext("server=(local);database=db;integrated security=true");
- //如果生产服务器上面的数据库连接是更改过的,则需要这样构造
- //1.查询全部
- var query1 = context.Logs;
- DisplayLogs("显示全部的",query1);
- //2.查询带筛选
- var query2 = context.Logs.Where(l => l.Id % 2 == 1&&l.Message.Contains("Test"));
- //2.1 where是c# 3的一个新特性,叫扩展方法
- //2.2 l=>1.Id...是C# 3的一个新特性,叫lambda表达式,实际上是一个委托delegate
- DisplayLogs("显示奇数的条目", query2);
- //3.查询带排序
- var query3 = context.Logs.OrderByDescending(l => l.Time);
- DisplayLogs("查询带排序", query3);
- //4.查询取中间一部分
- var query4 = context.Logs.Skip(1).Take(2);
- DisplayLogs("查询一部分", query4);
- //var query5 = context.Logs.OrderByDescending(l => l.Id).Skip(1).Take(2);
- //var query6 = context.Logs.OrderByDescending(l => l.Id).ThenBy(l => l.Time);