摘要: 在.NET Framework 3.5中提供了LINQ 支持后,Linq的呼声一度很高,各种LINQ Provider更是满天飞。他能够将数据查询语句集成到编程语言中,以一种统一的方式操作各种数据源,减少数据访问的复杂性。而LINQ本身也提供了很 好的扩展性,使开发人员可以轻松地编写属于自己的LINQ Provider。 在NHibernate 3.0.0 之前版本中并不存在Linq功能,Ayende Rahien贡献者为NHibernate2.1.0GA和NHibernate2.1.2GA版本设计第三方NHiberante.Linq.dll(对应为NHibernate.Linq-1.0.0.GA-bin.zip和NHibernate.Linq-2.1.2-GA-Bin.zip)(目前已经停止了维护),它是基于Criteria API的Linq Provider,主要功能是将简单的Linq表达式转化为Criteria API,由于Criteria API的功能有限,所以存在很多天生的不足(联接和子查询不支持)。如果使用NHibernate2.1.0GA或者NHibernate 阅读全文
posted @ 2011-10-22 20:59 GuYoung 阅读(2063) 评论(7) 推荐(0) 编辑
摘要: LINQ(Language Integrated Query,语言集成查询),发音 "link",是一组技术的名称。LINQ是 Visual Studio 2008 和 .NET Framework 3.5 版中引入的一项创新功能,它在对象领域和数据领域之间架起了一座桥梁。LINQ 将强大的查询功能扩展到 C# 和 Visual Basic 的语言语法中,并采用标准的、易于学习的查询模式。可以对此技术进行扩展以支持几乎任何类型的数据存储。 传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持。 此外,您还必须针对以下各种数据源学习一种不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等等。 LINQ 使查询成为 C# 和 Visual Basic 中的一流语言构造。 您可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询。 下图显示了一个用 C# 语言编写的、不完整的 LINQ 查询,该查询针对 SQL Server 数据库,并具有完全类型检查和 IntelliSense 支持。 阅读全文
posted @ 2011-10-22 10:27 GuYoung 阅读(1213) 评论(0) 推荐(1) 编辑