您的位置: 旅游网 > 时尚

Visual Basic 9不完全入门之DLinq简介_a

发布时间:2020-01-17 01:09:10

在当下的微软社区中,DLinq (Linq to SQL) 无疑已成为最炙手可热的话题之一。虽然我们知道,Linq 的精髓并不仅仅是 DLinq 一部分,但是由于其应用的广泛性,还是有必要在这里做一个关于 Visual Basic 9 中的 DLinq 的简要介绍。  数据库支持

当前的 Linq to SQL 仅仅支持 SQL Server 2005,SQL Server 2000 与 SQL Server Compact Edition。虽然它同样支持 SQL Server 2000,但是基于兼容性考虑,我们建议您尽可能地使用 SQL Server 2005 进行测试或开发。至于其他种类数据库的支持,暂时没有相关信息,但是预料在不久的将来,RTM,甚至是 SP1,可能会做出支持。

数据库映射

Linq to SQL 提供了强有力的 ORM 功能。您可以选择自己继承 DataContext 获得更大的自定义化,也可以直接采用 DBML 的可视化设计模式。它支持实体间的映射,One to many 或者 One to one。Lazy-load 模式提供了良好的性能。同时,您可以利用 LINQ 提供的编译时检查,以确保生成可靠的 SQL。无需编写 SQL - 是的,您只需要像查询内存中数据一样即可。

Linq to SQL 甚至支持存储过程——看看 ScottGu 提供的那幅图:

注意:存在 BUG !

毕竟是 Beta 1,存在或多或少的 Bug 都是正常的。请尽量减少实体间的映射,除非你不想再增加数据。事实确实是这样的,在你试图往带有实体映射的表中增加数据,您将得到一个 InvalidCastException。这个 Bug 已经被证实,如果 June CTP 中没有了,请及时通知我,万分感谢。

分页数据

在站点项目中,分页应该是最重要的数据库应用之一。Scott 博客中有一些关于它的介绍,引用如下:

实际上,这和掐头去尾的手段没有什么不同;只是在 SQL Server 2005 中,将用 Rownumber,而 SQL Server 2000 不支持此特性,因此将可能造成分页不准确的状况。Linq to SQL 生成的 SQL 语句性能还是相当高的,具体可以在查询分析器中看到。

使用限制

在 Visual Basic 9 Beta 1 中,LINQ 语句暂时还不支持 Join,GroupBy,Count,Sum 等等 T-SQL 应用;而在 June CTP 中,它们都被支持。因此,我建议还没有下载的各位尽可能地安装 June CTP。另有一点,就是 Linq to SQL 中的查询不能够调用本地函数,或者诸如 Array.Contains 一类。所以,虽然 ToArray 对于遍历操作有相当大的性能甜头,但是代价就是不能使用嵌套查询,因为它已经成为了一个本地数组。除此之外,理论上应该还有许许多多的细节限制,毕竟 Linq to SQL 不是从内存中查询数据的。

温故而知新

Visual Basic 9 不完全入门系列(1) : 语法糖

Visual Basic 9 不完全入门系列(2) : 语法增强

Visual Basic 9 不完全入门系列(3) : LINQ 简介

Visual Basic 9 不完全入门系列(4) : LINQ 进阶

结语

虽然 Linq 不是为 DLinq 而生,但是 DLinq 铺天盖地的介绍,还是让我们看到了 DLinq 在 Linq 家族中举足轻重的地位。这篇只做了最为基础的介绍,如果大家想了解更多,可以与我联系,或者自行学习。当然,下一篇介绍的还是 DLinq。

查看本文来源

藤黄健骨丸多久一疗程
怎么选口感符合儿童需求的止咳药
小孩吃什么健脾胃
小儿支原体肺炎一直有啰音
猜你会喜欢的
猜你会喜欢的