LINQ体验系列文章导航

LINQ体验系列文章导航

LINQ推荐资源

推荐一个大家学习和交流LINQ的地方,就是博客园的LINQ专题LINQ交流小组LINQ专题中整理了有关LINQ方方面面的入门、进阶、深入的文章;学习中遇到什么问题或者疑问也可以LINQ交流小组去提问,往往你会得到意想不到的收获哦。

LINQ专题:http://kb.cnblogs.com/zt/linq/

LINQ小组:http://space.cnblogs.com/group/linq/

导言 

在2007年11月19日,微软发布了Visual Studio 2008 和.NET 3.5。带来了很多新东西,比如ASP.NET3.5、LINQ、Silverlight、ASP.NET 3.5 Extensions等等,我们要跟紧着微软的步伐,很多的东西不得不从头开始学习了,LINQ体验系列是我在学习过程中记录下来的里程,在我的博客中分享,给大家一起学习Visual Studio 2008 和 .NET 3.5提供一个平台。

本系列共三部分,第一部分讲述了Visual Studio 2008新特性,第二部分介绍了C# 3.0新语言特性和改进。第三部分开始讲解LINQ,先整体介绍了LINQ,再从LINQ to SQL语句入手贯穿了LINQ的精髓。本文给出了本系列的导航。

第一部分:Visual Studio 2008新特性

导读:Visual Studio 2008的新特性,其包括.NET Framework 对重定向的支持;ASP.NET AJAX和JavaScript智能客户端支持;全新的Web开发新体验:Web设计器提供了分割视图编辑、嵌套母板页、以及强大的CSS编辑器集成;编程语言方面的改进和LINQ;浏览.NET Framework库源码;智能部署ClickOnce;.NET Framework 3.5 增强功能;集成对Office (VSTO)和Sharepoint 2007开发的支持;在Windows Server 2008, Windows Vista 和Microsoft Office 2007下最好的开发工具集;单元测试功能,所有的Visual Studio专业版本都支持单元测试功能等等。

LINQ体验(1)——Visual Studio 2008新特性

第二部分:C# 3.0新语言特性和改进

导读:总体来说,Visual Studio 2008和.NET 3.5是建立在.NET2.0核心的基础之上,C# 3.0新语言特性在.NET2.0基础上进行了改进,这些改进的功能可以大大简化我们编写程序。

C# 3.0新语言特性和改进包括:

  • 自动属性(Auto-Implemented Properties)
  • 隐含类型局部变量(Local Variable Type Inference)
  • 匿名类型(Anonymous Types)
  • 对象与集合初始化器(Object and Collection Initializers)
  • 扩展方法(Extension Methods)
  • Lambda表达式和Lambda表达式树 (Lambda Expression and Lambda Expression Trees)

LINQ体验(2)——C# 3.0新语言特性和改进(上篇)

LINQ体验(3)——C# 3.0新语言特性和改进(下篇)

第三部分:LINQ带来的编程体验

导读:语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁。首先整体认识一下LINQ,然后从LINQ to SQL语句由基础到高级贯穿了LINQ的精髓。

LINQ简介

LINQ体验(4)——LINQ简介和LINQ to SQL语句之Where

LINQ to SQL语句基本查询操作部分

LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg

LINQ体验(6)——LINQ to SQL语句之Join和Order By

LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains

LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods

LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

LINQ to SQL语句高级部分

LINQ体验(10)——LINQ to SQL语句之开放式并发控制和事务

LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法

LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载

LINQ体验(13)——LINQ to SQL语句之运算符转换和ADO.NET与LINQ to SQL

LINQ体验(14)——LINQ to SQL语句之存储过程

LINQ体验(15)——LINQ to SQL语句之用户定义函数

LINQ体验(16)——LINQ to SQL语句之DataContext

LINQ体验(17)——LINQ to SQL语句之动态查询

LINQ体验(18)——LINQ to SQL语句之视图和继承支持

LINQ学习工具

LINQPad :LINQPad 是一个很好的学习LINQ的工具,LINQPad 是完全免费的,无需安装,支持C# 3.0 和 Framework 3.5的全部功能

VLinq :Visual Linq Query Builder(LINQ可视化查询编辑器)作为Visual Studio 2008的一个插件,可以帮助我们在程序中创建LINQ to SQL查询表达式,支持C#和VB两种语言。

LINQ in Action 电子书:作者:Fabrice Marguerie, Steve Eichert, Jim Wooley 出版日期:2008年1月15日

结束语

花了时间把这个系列全部更新了,以适应新的模板,采用图文并茂形式全面介绍了LINQ to SQL 。通过这个系列,您可以迅速入门LINQ。


作者:李永京YJingLee's Blog
出处:http://lyj.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Tag标签: LINQ,LINQ to SQL
posted @ 2008-03-25 00:05 李永京 阅读(28617) 评论(80)  编辑 收藏 所属分类: LINQ

  回复  引用  查看    
#1楼 2008-03-24 14:42 | 生鱼片      
博主这系列不错,值得收藏
  回复  引用  查看    
#2楼 [楼主]2008-03-24 14:46 | 李永京      
@生鱼片
呵呵!谢谢支持!
  回复  引用  查看    
#3楼 2008-03-24 14:58 | 破曉之陽      
支持。。。加油。。。
  回复  引用  查看    
#4楼 [楼主]2008-03-24 15:11 | 李永京      
@破曉之陽
谢谢支持!还有4,5篇了,抓紧时间弄个全集。
  回复  引用    
#5楼 2008-03-24 15:12 | xiong [未注册用户]
强烈支持!!!! 谢谢!!!
  回复  引用  查看    
#6楼 [楼主]2008-03-24 15:13 | 李永京      
@xiong
o(∩_∩)o...,谢谢支持!
  回复  引用  查看    
#7楼 2008-03-24 20:47 | ilovedotnet      
哈哈,博主这个系列我已经全都收藏了!
  回复  引用  查看    
#8楼 [楼主]2008-03-24 21:08 | 李永京      
@ilovedotnet
呵呵,看看就行了啊。参考一下!
  回复  引用  查看    
#9楼 2008-03-25 07:26 | Kevin Li      
正在学 3q
  回复  引用    
#10楼 2008-03-25 09:05 | 韩 [未注册用户]
强烈支持!!!!
认真学习!!
  回复  引用  查看    
#11楼 2008-03-25 09:54 | 杨正祎(阿一)      
清晰明了,强烈支持。
  回复  引用  查看    
#12楼 [楼主]2008-03-25 12:21 | 李永京      
@Kevin Li
@韩
谢谢支持!
  回复  引用  查看    
#13楼 [楼主]2008-03-25 12:22 | 李永京      
@杨正祎(阿一)
呵呵,力求整个系列的完整性,所以就这样计划写了。
  回复  引用  查看    
#14楼 2008-03-25 16:28 | romce      
写得很好啊
  回复  引用  查看    
#15楼 [楼主]2008-03-25 16:47 | 李永京      
@romce
客气了,学习积累的。分享一下
  回复  引用    
#16楼 2008-03-25 17:22 | QB [未注册用户]
太好了,入门的好东西!
  回复  引用  查看    
#17楼 [楼主]2008-03-25 17:27 | 李永京      
@QB
o(∩_∩)o...
  回复  引用  查看    
#18楼 2008-03-25 18:41 | SZW      
坚决支持^_^
  回复  引用  查看    
#19楼 2008-03-27 14:33 | 仁面寿星      
请问一下,LINQ如何处理的约束?比如主键的自定长,难道都必须自己设置主键ID,还有默认值,好像都必须自己输入。
  回复  引用  查看    
#20楼 [楼主]2008-03-27 14:44 | 李永京      
@仁面寿星
不要自己设置,他自动增一。看看LINQ(17)最后一点提到了。
  回复  引用  查看    
#21楼 2008-04-22 16:13 | 鹏鹏_Lovely      
--引用--------------------------------------------------
xiong: 强烈支持!!!! 谢谢!!!
--------------------------------------------------------

  回复  引用  查看    
#22楼 2008-04-22 16:13 | 鹏鹏_Lovely      
--引用--------------------------------------------------
鹏鹏_Lovely: --引用--------------------------------------------------
强烈支持!!!! 谢谢!!!
--------------------------------------------------------

--------------------------------------------------------

  回复  引用  查看    
#23楼 [楼主]2008-04-23 09:08 | 李永京      
@鹏鹏_Lovely
谢谢支持~~
  回复  引用  查看    
#24楼 2008-04-27 13:49 | qdzhbsh      
谢谢博主提供这些不错的资料,我刚开始学习LINQ,永远支持你!
  回复  引用  查看    
#25楼 [楼主]2008-04-27 19:54 | 李永京      
@qdzhbsh
呵呵,学习的一些总结,看看就成。
  回复  引用    
#26楼 2008-05-03 01:46 | AimatMVP [未注册用户]
暴力支持
  回复  引用  查看    
#27楼 [楼主]2008-05-03 19:00 | 李永京      
@AimatMVP
谢谢支持!
  回复  引用    
#28楼 2008-05-10 19:59 | Linq [未注册用户]
不错,写的很详细!
公司项目可能要更新到08了,用这个来复习下Linq应该很好:)
支持:)
  回复  引用  查看    
#29楼 [楼主]2008-05-10 20:20 | 李永京      
@Linq
恩,就是复习的过程,不过现在还有很多初学者~~
“LINQ什么东东?”现在还有同学问.....
  回复  引用  查看    
#30楼 [楼主]2008-05-31 16:43 | 李永京      
呵呵,大家都来顶一下!!!!
  回复  引用  查看    
#31楼 2008-06-05 13:44 | Henllyee Cui      
却是写得很不错的。
  回复  引用  查看    
#32楼 [楼主]2008-06-09 14:59 | 李永京      
@Henllyee Cui
笔记.....
  回复  引用    
#33楼 2008-06-11 17:35 | yunsi [未注册用户]
不得不顶啊!!
  回复  引用  查看    
#34楼 2008-06-14 13:50 | KevinDiao      
支持 刚好用到 谢谢!~
  回复  引用  查看    
#35楼 [楼主]2008-06-14 14:28 | 李永京      
@yunsi
@KevinDiao
谢谢支持!!!
  回复  引用    
#36楼 2008-06-17 16:53 | @超超火狐 [未注册用户]
听我们班老师的介绍,来这里学习,感觉真的好很,学到许多新东西,非常感谢,另外想问问楼主,用不用安装SQL2008一起使用
  回复  引用  查看    
#37楼 [楼主]2008-06-17 19:14 | 李永京      
@@超超火狐
呵呵............? 不用装SQL2008,学习的时候只要装个VS2008就可以了,VS2008自带的SQL Server Express就可以使用了,如果觉得不方便,安装个SQL Server Management Studio Express。不过想学习数据库的话,可以使用SQL Server 2005.我就是安装个SQL Server Management Studio Express。顺便给出下载地址http://www.microsoft.com/downloads/details.aspx?familyid=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&displaylang=zh-cn
  回复  引用    
#38楼 2008-06-17 19:27 | 超超火狐 [未注册用户]
哦,这样啊,太好了,我觉得学习VS离不开数据库的学习,非常感谢
  回复  引用  查看    
#39楼 [楼主]2008-06-17 20:04 | 李永京      
@超超火狐
:-)
  回复  引用    
#40楼 2008-06-17 20:53 | 27 [未注册用户]
全部都是白色的,邓!
  回复  引用    
#41楼 2008-06-17 20:54 | 27 [未注册用户]
看不到啊
  回复  引用  查看    
#42楼 [楼主]2008-06-17 21:06 | 李永京      
@27
哪里白色的,你什么浏览器啊,别人都正常的 啊??
  回复  引用    
#43楼 2008-06-18 15:01 | bonny [未注册用户]
哪里有Windows Server 2008下载啊!
  回复  引用  查看    
#44楼 [楼主]2008-06-18 15:15 | 李永京      
@bonny
Windows Server 2008???操作系统..
官方主页http://www.microsoft.com/china/windowsserver2008/default.mspx
需要下载搜索一下就可以找到了,这里我搜索一个地址http://58.218.154.35/zh-Hans_windows_server_2008_datacenter_enterprise_standard_x86_dvd_x14-26742.iso(外接地址)

  回复  引用  查看    
#45楼 2008-06-19 11:42 | 吴明浩      
辛苦了 ~ ^^V
很好的文章哦~
  回复  引用    
#46楼 2008-06-19 16:23 | 超超火狐(梁景超) [未注册用户]
各位朋友前辈们,我有一个关于编程的问题,解决不了,可以帮我看看吗?如何用C#修改注册表的二进制键值?例如:myreg.setvalue("字符串键值",aa);//修改
或者:int idata=1*2*2;MyReg.setvalue(idata,Nodrives);那二进制怎样改呢?谢谢
  回复  引用    
#47楼 2008-06-19 16:28 | 超超火狐(梁景超) [未注册用户]
冒昧了,刚刚的问题有点脱离你们的话题。不过,都是有关编程的问题啦,还请大家帮帮忙,有任何意见都可以留下哦,先谢谢了!
  回复  引用  查看    
#48楼 [楼主]2008-06-19 16:55 | 李永京      
@超超火狐(梁景超)
没有关系,在这里回答也一样,本人接触winform编程很少,提供个注册表编程模板
RegistryKey key = Registry.CurrentUser;
RegistryKey key1 = key.CreateSubKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer");
key1.SetValue("NoFind",1);
key1.SetValue("NoRun",1);
key1.SetValue("NoSetFolders",1);
key1.Close();
具体的可以搜索下.NET注册表编程的相关内容。


  回复  引用    
#49楼 2008-06-19 17:44 | 超超火狐(梁景超) [未注册用户]
嗯,谢谢了
  回复  引用    
#50楼 2008-06-24 10:49 | 稻草人A [未注册用户]
楼主 你可不可以提供一下源码嘛 谢谢
  回复  引用  查看    
#51楼 [楼主]2008-06-24 14:19 | 李永京      
@稻草人A
源码全部来自微软101 linq实例,自己可以去下载到。
  回复  引用  查看    
#52楼 2008-07-02 16:50 | xujh      
很可惜的是LINQ官方还不知道Oracle
  回复  引用    
#53楼 2008-07-04 10:32 | hjhjhjhjhjhjhjhj [未注册用户]
技术好.人品更好.
支持你..
学习,收藏!
谢谢
  回复  引用  查看    
#54楼 [楼主]2008-07-11 20:58 | 李永京      
@xujh
:)
@hjhjhjhjhjhjhjhj
:)
  回复  引用  查看    
#55楼 2008-07-16 10:52 | 恋上昨天的你      
相当好~~
  回复  引用    
#56楼 2008-07-23 23:01 | killuakun [未注册用户]
很好的系列,你为人类的进步做出了贡献:)
  回复  引用  查看    
#57楼 [楼主]2008-07-28 23:13 | 李永京      
@恋上昨天的你
@killuakun
-)
  回复  引用    
#58楼 2008-08-16 15:25 | windy314 [未注册用户]
楼主简直是太伟大了!
  回复  引用  查看    
#59楼 2008-08-25 15:08 | 雅阁布      
楼主可以考虑写本关于Linq的书来!!
  回复  引用    
#60楼 2008-08-26 21:33 | 刘智伟 [未注册用户]
很好的系列。
拜读中...
谢谢分享。
  回复  引用  查看    
#61楼 2008-08-27 08:19 | Ticky      
谢谢楼主这么精彩的系列,要细细咀嚼了
  回复  引用  查看    
#62楼 [楼主]2008-08-30 19:13 | 李永京      
@windy314
o(∩_∩)o...
  回复  引用  查看    
#63楼 [楼主]2008-08-30 19:13 | 李永京      
@雅阁布
书籍没有考虑,自己只想分享一下自己学习的心得
  回复  引用  查看    
#64楼 [楼主]2008-08-30 19:14 | 李永京      
@刘智伟
谢谢支持
@Ticky
谢谢支持~~
  回复  引用  查看    
#65楼 2008-09-03 16:31 | peace      
peace同志不来支持下也不行 :)
  回复  引用  查看    
#66楼 2008-09-08 12:31 | 乐子哥      
支持
  回复  引用  查看    
#67楼 2008-09-18 11:50 | 乐子哥      
如何动态构建where语句(像编SQL一样),我现在要写一个方法,有两个参数,如果两个参数都没有传入值,LINQ语句就没有where,如传入一个条件,LINQ语句的where部分只写一个条件,而两个参数时需写两个,请问如何处理
  回复  引用  查看    
#68楼 [楼主]2008-09-18 12:52 | 李永京      
@乐子哥
如果你用动态查询请看 LINQ(17),或者在where子句后面加 and来连接2个条件
  回复  引用  查看    
#69楼 [楼主]2008-09-18 12:52 | 李永京      
@peace
谢谢支持~~~
  回复  引用    
#70楼 2008-09-20 23:57 | Ariex [未注册用户]
我有一个问题,在使用sql语句进行参加查询的时候,可以使用把来自表1中的一部分字段和来自表2中的一部分字段合起来做成一个新的表返回。这样的查询使用Linq的话应该如何实现呢?
比如这样的sql查询:
select Customers.*, Orders.OrderDate from Customers, Orders where Orders.CustomerID=Customers.CustomerID and OrderDate>1997/5/5
谢谢~
  回复  引用  查看    
#71楼 [楼主]2008-09-21 00:09 | 李永京      
from x in db.a
from y in db.b
select new{
x.x,
x.y,
y.w,
y.t
}
类似这种样子
  回复  引用    
#72楼 2008-09-21 00:19 | Ariex [未注册用户]
@李永京
回复我的么?
就是说Linq没有像Sql语句中的那样的*的通配符,如果要组合结果的话,就需要全都写上咯?
  回复  引用  查看    
#73楼 [楼主]2008-09-21 00:22 | 李永京      
@Ariex
恩,是的啊,自定义需要的字段,如果整表列都要也可以啊,使用集合
  回复  引用    
#74楼 2008-09-21 01:05 | Ariex [未注册用户]
@李永京
要表1的整表列,再配上表2的一列。比如上面的那个例子,我想获得订单日期在1997/5/5之后的所有的客户信息(包含订单日期),就只有把Customer的属性写一遍,再写一个OrderDate了……不过这样也好啦,找到的结果里有什么,不用看表就知道了~

非常感谢~~
  回复  引用    
#75楼 2008-09-24 17:40 | leozheng2000 [未注册用户]
Lee, 请教一个问题,在Linq里怎么实现Sql里 in 的语法,比如 select * from autos where auid in (select auid from .....)
我知道可以用Conatins 但这个关键字 实际会被Linq翻译成 if exists....
而我希望能找到翻译成 in 的。
  回复  引用  查看    
#76楼 [楼主]2008-09-24 18:45 | 李永京      
@leozheng2000
没有了吧,我也没有找到,在LINQ to SQL用Contains代替了吧。
  回复  引用  查看    
#77楼 2008-10-05 08:58 | 侯垒      
这个系列不错.
  回复  引用  查看    
#78楼 [楼主]2008-10-06 16:23 | 李永京      
@侯垒
赫赫~~

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-09-28 13:06 编辑过


相关链接: