摘要: select 描述:查询顾客的公司名、地址信息 查询句法: var 构建匿名类型1 = from c in ctx.Customers select new { ... 阅读全文
posted @ 2008-11-05 20:42 my favorite 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 目录导航 1 C# 3.0 入门系列(一) 从linq开始引C# 3.0。 2 C# 3.0入门系列(二) 数据库的准备,引入Linq To Sql的准备。 3 C# 3.0入门系列(三) 第一个Linq To Sql工程。 4 C# 3.0入门系列(四)-之Select操作 Select语法。 5 C#3.0入门系列(五)-之Where操作 Where操作语法。 6 C#3.0... 阅读全文
posted @ 2008-11-05 11:57 my favorite 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 谈到dlinq,就不得不先说linq。让我们先看看什么是linq。linq是 Language Integrated Query的缩写。那么事实上dlinq就是 Database Language Integrated Query 的缩写。linq和dlinq最大的区别就在与linq是对内存进行操作,而dlinq的操作对象为数据库。 我们先来看一个linq的例子。在这之前,你需要安装s2008 b... 阅读全文
posted @ 2008-11-05 11:56 my favorite 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 在第一篇中,我已经和大家简单介绍了linq。也和大家提起linq是C# 3.0里的一个特性。不过,你去装linq priview时,你会发现,它提供了许多vb的linq代码。从现在的情况看,linq会被移植到.net framework下。在本篇中,笔者将开始更加详细的介绍dlinq。同时,也会介绍很实用的技巧和方法。在这之前,你需要安装s2008 beta2版本。可以到 http://msdn... 阅读全文
posted @ 2008-11-05 11:56 my favorite 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 从本节开始,笔者将会和大家一起开始体验dlinq了。前面我们准备了数据库,也对数据库之间的关系做了初步的了解。有了数据库之后,数据和对象是一个什么样的关系呢?从dlinq的设计来看,它主要是为了解决data!=objects 的问题而产生的。那么,现在,有了dlinq后数据和对象之间就可以有一个一一对应的关系了。我们既可以根据数据库生成这种影射的代码,也可以根据影射代码生成数据库。简单的说,数据... 阅读全文
posted @ 2008-11-05 11:55 my favorite 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 先给关注dlinq的朋友们道歉,最近工作实在忙,没有时间来写blog。从本节开始,我们讲dlinq语法咯。我们先从select子句讲起。看下面的例子。 var q = from c in db.Customers select c.ContactName; 这是一个最简单的dlinq查询语句,查询得到联系人的名字。在这里,我需要提醒下大家的是,像这个语句只... 阅读全文
posted @ 2008-11-05 11:54 my favorite 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 从本节开始,本文正式更名为C#3.0入门系列。先发布一则消息,VS2007 Beta版本已经发布咯,下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=1FF0B35D-0C4A-40B4-915A-5331E11C39E6&displaylang=en 大家快去下载呀,我也好和大家一起体验该版本最新功能呀。 dlinq也更... 阅读全文
posted @ 2008-11-05 11:53 my favorite 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 本节讲orderby操作.我突然在想这么一个问题,读者会T-SQL吗?要是不知道,那我写的是不是太简单了呢?做个调查哦,不知道的举手. OrderBy操作 简单的,按雇用日期排序,默认为升序 var q = from e in db.Employees orderby e.HireDate ... 阅读全文
posted @ 2008-11-05 11:53 my favorite 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 不得不再次给关注dlinq的朋友道歉了。好久都没有更新blog了。因为工作的变动,还要赶期限,没有时间关注这里了。 先发布一则消息。Orcas Beta1, 这个才是beta1,可以到http://www.microsoft.com/downloads/details.aspx?FamilyID=f10fb5df-e369-4db4-b9a7-845dbf793368&DisplayLang=en... 阅读全文
posted @ 2008-11-05 11:51 my favorite 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 换一种写作风格。本节讲groupby操作。 在所有的Linq To Sql操作中,GroupBy是最难理解的一个。因为,这里和Sql的出入较大。而Group真的就能返回n多组。 打开vs,新建一工程,加入System.Data.Linq.dll的引用。把northwind数据库做个映射,添加到工程里。创建一Northwind类的对象。在这里呢,我们要做分组统计,我们要先明白什么是分组。在我们开始... 阅读全文
posted @ 2008-11-05 11:50 my favorite 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 有朋友反馈说我提供的sample不能编译。大概是版本的问题,可以到http://msdn2.microsoft.com/en-us/bb330936.aspx下载for beta1的版本。本节接着讲groupby。 上一节,我们讲了如何理解groupby返回的结果。本节会延这个思路阐述下去。先来看下面的例子 GroupBy操作中Select的匿名类 var q = fro... 阅读全文
posted @ 2008-11-05 11:49 my favorite 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 本节讲join操作。我们知道,T-sql中,有三种最基本的join,inner join, left join, 和right join。 而dlinq并不支持right join。道理很简单,right join以right表为基础,left表中没有对应记录的,将以null值填充。而dlinq以left表做为主表创建对象。如果一个对象为null,你如何获取它的其他的属性呢? 在C# 3.0入门... 阅读全文
posted @ 2008-11-05 11:48 my favorite 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 有这么一个例子,寻找一个表中的某个字段介于某个给定的集合该怎么办?Sql写起来很简单,比如:Select * from table where id in (2,3, 4, 5)。 就是寻找id字段为这个给定的集合(2,3, 4, 5)内的值。那Linq to Sql该怎么做呢?一个字,简单。 In Operator 比如,我们想要查找,"AROUT", "BOLID" 和 "FISSA" 这... 阅读全文
posted @ 2008-11-05 11:46 my favorite 阅读(264) 评论(0) 推荐(0) 编辑
摘要: Lambda表达式是由匿名方法演化而来的更加高级的形式。关于匿名方法,请参阅http://msdn.microsoft.com/msdnmag/issues/04/05/C20/。关于Lambda表达式的演化,请参阅http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx?loc=zh。英文原版为http://msdn... 阅读全文
posted @ 2008-11-05 11:43 my favorite 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 目录导航 1 Linq To Sql进阶系列(一)-从映射讲起 本系列,或多或少,直接或间接依赖入门系列知识。但,依然追求独立成章。因本文作者水平有限,文中错误难免,敬请读者指出并谅解。本系列将会和入门并存。 2 Linq To Sql进阶系列(二)M:M关系 在Linq To Sql进阶系列(一) 一文中,我们谈到了数据库中的两种基本关系1:M 与1:1. 而现实世界中,还有一种M:... 阅读全文
posted @ 2008-11-05 11:40 my favorite 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 本系列,或多或少,直接或间接依赖入门系列知识。但,依然追求独立成章。因本文作者水平有限,文中错误难免,敬请读者指出并谅解。本系列将会和入门并存。 案例 某君被邀为一超市设计数据库,用来存储数据。该君根据该超市中实际出现的对象,设计了Customer, Employee,Order, Product等表,用来保存相应的客户,员工,订单,货品等。太好了,该君很有oo的思想吗。 如果,你被要求用类... 阅读全文
posted @ 2008-11-05 11:39 my favorite 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 在Linq To Sql进阶系列(一) 一文中,我们谈到了数据库中的两种基本关系1:M 与1:1. 而现实世界中,还有一种M:M 的关系。比如,一个老师可以有多个学生,而一个学生也可以有多个老师。老师和学生的关系就是多对多的关系。这些关系在数据库中是如何反映的呢? 在C#3.0入门系列(十)-之Join操作一文中,我们提到了M:M 的关系中的join操作。哦,原来,M:M 的关系在数据库中,依然是... 阅读全文
posted @ 2008-11-05 11:37 my favorite 阅读(352) 评论(0) 推荐(0) 编辑
摘要: CUD就是Create, Update, Delete。在别人都写过了后,还有什么是新鲜的呢? 1,CreateDatabase Northwind db = new Northwind("You connection string"); //注意database项,起一个不存在的数据库名称 db.Log = Console.Out; ... 阅读全文
posted @ 2008-11-05 11:35 my favorite 阅读(263) 评论(0) 推荐(0) 编辑
摘要: User Define Function, 用户自定义函数,简称UDF. 关于sql server中的udf,请大家参考http://msdn.microsoft.com/msdnmag/issues/03/11/DataPoints/一文。本文主要阐述,在Linq To Sql中,如何使用UDF. 1,UDF 简介 UDF可以分为两中类型。一种为Scalar Valued Function,... 阅读全文
posted @ 2008-11-05 11:34 my favorite 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Store Procedure,存储过程。也是被别人写过的东西。我习惯性先看别人都写了点啥,然后才开始想看看自己还要写点啥。那就先谈谈它与udf的区别吧。 在Linq To Sql进阶系列(四)User Define Function篇 中,我们提到了两者的差别。比如Store Procedure支持多个rowset的,而udf不行。他们还有一些其他的差别。Store Procedure只能返回... 阅读全文
posted @ 2008-11-05 11:33 my favorite 阅读(221) 评论(0) 推荐(0) 编辑