快乐的Tina  

2011年3月3日

摘要: LINQPad支持C# 3.0 和 Framework 3.5的全部功能:LINQ to ObjectsLINQ to SQLEntity FrameworkLINQ to XMLLINQPad 也是一个很好的学习LINQ的工具,包含《C# 3.0 in a Nutshell》一书中200个示例,可以使用LINQPad感受LINQ的超酷功能和函数编程。LINQPad 是完全免费的,无需安装,下载之后直接可以运行,只有2.12 MB大小。LINQPad 需要先安装.NET Framework 3.5,支持 SQL Express、SQL 2000、 SQL 2005和SQL 2008的有限功能。 阅读全文
posted @ 2011-03-03 09:54 幸福佑儿 阅读(240) 评论(0) 推荐(0)
 
摘要: LINQ可视化查询编辑器: VLinq大家学习LINQ是不是寻思写LINQ to SQL语句没有一个可视化的编程环境。Mitsu和他们的团队用了近一年的工作在今天发布了VLinq(Visual Linq Query Builder,LINQ可视化查询编辑器)。Visual Linq Query Builder(LINQ可视化查询编辑器)作为Visual Studio 2008的一个插件,可以帮助我们在程序中创建LINQ to SQL查询表达式,支持C#和VB两种语言。VLinq使用Visual Studio 2008 (betas then RTM) 和Expression Blend开发的。 阅读全文
posted @ 2011-03-03 09:54 幸福佑儿 阅读(249) 评论(0) 推荐(0)
 
摘要: 视图我们使用视图和使用数据表类似,只需将视图从“服务器资源管理器/数据库资源管理器”拖动到O/R 设计器上,自动可以创建基于这些视图的实体类。我们可以同操作数据表一样来操作视图了。这里注意:O/R 设计器是一个简单的对象关系映射器,因为它仅支持 1:1 映射关系。换句话说,实体类与数据库表或视图之间只能具有 1:1 映射关系。不支持复杂映射(例如,将一个实体类映射到多个表)。但是,可以将一个实体类映射到一个联接多个相关表的视图。 下面使用NORTHWND数据库中自带的Invoices、Quarterly Orders两个视图为例,写出两个范例。查询:匿名类型形式我们使用下面代码来查询出Ship 阅读全文
posted @ 2011-03-03 09:52 幸福佑儿 阅读(261) 评论(0) 推荐(0)
 
摘要: 高级特性本文介绍LINQ的高级特性,其包括大家都关心的动态查询的用法,另外简单提下ID标识这个知识。动态查询有这样一个场景:应用程序可能会提供一个用户界面,用户可以使用该用户界面指定一个或多个谓词来筛选数据。这种情况在编译时不知道查询的细节,动态查询将十分有用。在LINQ中,Lambda表达式是许多标准查询运算符的基础,编译器创建lambda表达式以捕获基础查询方法(例如 Where、Select、Order By、Take While 以及其他方法)中定义的计算。表达式目录树用于针对数据源的结构化查询,这些数据源实现IQueryable<T>。例如,LINQ to SQL 提供程 阅读全文
posted @ 2011-03-03 09:51 幸福佑儿 阅读(295) 评论(0) 推荐(0)
 
摘要: DataContextDataContext作为LINQ to SQL框架的主入口点,为我们提供了一些方法和属性,本文用几个例子说明DataContext几个典型的应用。创建和删除数据库CreateDatabase方法用于在服务器上创建数据库。DeleteDatabase方法用于删除由DataContext连接字符串标识的数据库。数据库的名称有以下方法来定义:如果数据库在连接字符串中标识,则使用该连接字符串的名称。如果存在DatabaseAttribute属性(Attribute),则将其Name属性(Property)用作数据库的名称。如果连接字符串中没有数据库标记,并且使用强类型的Data 阅读全文
posted @ 2011-03-03 09:50 幸福佑儿 阅读(277) 评论(0) 推荐(0)
 
摘要: 用户定义函数我们可以在LINQ to SQL中使用用户定义函数。只要把用户定义函数拖到O/R设计器中,LINQ to SQL自动使用FunctionAttribute属性和ParameterAttribute属性(如果需要)将其函数指定为方法。这时,我们只需简单调用即可。在这里注意:使用用户定义函数的时候必须满足以下形式之一,否则会出现InvalidOperationException异常情况。具有正确映射属性的方法调用的函数。这里使用FunctionAttribute属性和 ParameterAttribute属性。特定于LINQ to SQL的静态SQL方法。.NET Framework方 阅读全文
posted @ 2011-03-03 09:42 幸福佑儿 阅读(321) 评论(0) 推荐(0)
 
摘要: 在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些。下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下。1.标量返回在数据库中,有名为Customers Count By Region的存储过程。该存储过程返回顾客所在"WA"区域的数量。ALTER PROCEDURE [dbo].[NonRowset] (@param1 NVARCHAR(15))ASBEGIN SET NOCOUNT ON; DECLARE @count int SELECT @count = COUNT(*)FROM Custo... 阅读全文
posted @ 2011-03-03 09:12 幸福佑儿 阅读(320) 评论(0) 推荐(0)
 
摘要: 运算符转换1.AsEnumerable:将类型转换为泛型 IEnumerable使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数。在此示例中,LINQ to SQL(使用默认泛型 Query)会尝试将查询转换为 SQL 并在服务器上执行。但 where 子句引用用户定义的客户端方法 (isValidProduct),此方法无法转换为 SQL。解决方法是指定 where 的客户端泛型 IEnumerable<T> 实现以替换泛型 IQueryable<T>。可通过调用 AsEnumerable<TSou 阅读全文
posted @ 2011-03-03 09:02 幸福佑儿 阅读(279) 评论(0) 推荐(1)