LINQ

原创 2006年06月21日 16:40:00
PDC 05 上揭露了C# 3.0 及Linq Project,什麼是Linq 呢? 簡單的說,Linq 是一個語言層級
的查詢語法Library,她可以讓我們以類SQL 語法的方式來查詢語言中的變數,例如陣列,
Collections. 以實例來說:

static void ObjectQuery()
{
var people = new List ()
{
new Person { Age=12, Name="Bob" },
new Person { Age=18, Name="Cindy" },
new Person { Age=13 }
};
var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p;
Console.WriteLine("Result:");
foreach(var val in teenagers)
{
Console.WriteLine("> Name = {0}, Age = {1}", val.Name, val.Age);
}
Console.ReadLine();}

class Person
{
public int Age;
public string Name;
}

Person是一個類別,ObjectQuery 函式中以Generic List建立了一個Person的Collection,
此處的var 型別是C# 3.0新增的型別, 從語言面來看,這個型別可以被指定為任何型別,
就像是Variant一樣,從Complier面來看,它是一個Lazy-determine型別,由Complier於編譯
期間來決定真正的型別,接下來的奇特語法就是Linq.
var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p;
是不是覺得很像SQL呢? 這段程式碼的意思是,由people中選出Age大於12小於20的元素,
除了這種簡單的查詢之外,Linq 也支援Join,Distinct等語法.
基本上Linq只是一組Library,C# 3.0及VB.NET 9.0的Complier利用了這個Library來實現
上面的新語法,所有的特殊語法都會被編譯器編成使用Linq Library的程式.

Linq 讓程式語言又進化了.

LINQ -- 新增 修改 删除

Linq 更新语句更新和删除其实语法差不多 LINQ的更新 Linq的删除 Linq的新增 强大的查询功能 内容代码块 新增 AdjMkRpt mkRpt = new AdjMkRpt(); ...
  • poloyzhang
  • poloyzhang
  • 2016年10月20日 14:38
  • 1260

LINQ not in查询

var query = from c in _opvRepository.Table                         join a in _orderRepository.Table...
  • xingxing513234072
  • xingxing513234072
  • 2014年05月30日 11:09
  • 3047

Linq to Object 深入理解(一):了解Linq之前的基础知识

在我们去深入了解linq之前,有几个重要的基础需要先了解复习一下。 一、隐式类型var var是C#3.0时新增的特性,现在这个var会大量的出现在我的代码中,首先,我先从实际的感受表达一下,这个...
  • u011964267
  • u011964267
  • 2015年06月03日 22:06
  • 1310

Linq初探——DataTable的查询与修改

第一次接触Linq,做了个小的测试程序。 using System; using System.Collections.Generic; using System.Linq; using Sys...
  • dannywj1371
  • dannywj1371
  • 2011年03月31日 17:14
  • 12549

LINQ之Delete

1.简单形式说明:调用DeleteOnSubmit方法即可。OrderDetail orderDetail = db.OrderDetails.First (c => c.Orde...
  • gjysk
  • gjysk
  • 2010年07月02日 14:58
  • 2532

linq嵌套、联合查询

1.查找每个类别中单价最低的产品: var categories = from p in db.Products group p by p.CategoryID into g ...
  • Joyhen
  • Joyhen
  • 2014年08月13日 00:17
  • 4687

C# Linq简介

LInq是Language Integrated Query的简称,它是微软在.net framework 3.5里面新加入的特性,用以简化查询查询操作。它主要包含了3块,Linq to Object...
  • guwei4037
  • guwei4037
  • 2013年07月04日 20:52
  • 11073

扩展Update实现在linq中进行批量更新

这篇文章讲解的很详细, http://www.cnblogs.com/coolcode/archive/2010/07/11/LinqToSQL_Batch_Update.html ...
  • mx5721
  • mx5721
  • 2014年07月24日 10:24
  • 6033

LINQ TO SQL:动态执行带有有参数的存储过程

这是一个小的细节,如果我们在LINQ TO SQL中动态执行存储过程,而且它带有参数的话,应该按照下面的方法进行 1. 存储过程ALTER PROCEDURE dbo.GetCustomerByCou...
  • chen_xizhang
  • chen_xizhang
  • 2010年01月03日 03:53
  • 2458

Linq按日期统计查询

 1.  var query=db.A.Where(a=>a.时间>=new DateTime(2005,5,10) && a.时间 .GroupBy(a=>a.时间.Day) .Sele...
  • niewq
  • niewq
  • 2017年04月01日 07:20
  • 1420
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LINQ
举报原因:
原因补充:

(最多只允许输入30个字)