扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:随风流月 来源:论坛整理 2007年11月9日
关键字: Visual Basic DLINQ 进阶
命名空间的更改
虽然命名空间的更改不在增强之列,但是由于其重要性(为此我耗费了将近20分钟),还是有必要在此叙述。我建议各位重新创建 dbml 文件,因为文件格式似乎已经不兼容。所有的关于数据映射的属性都被移到 System.Data.Linq.Mapping;一部分接口则转移至 System.ComponentModel 中。如果您是从 Beta 1 迁移,这项问题极其重要。
更多的谓词支持
Beta 1 中的 LINQ 仅仅支持少数常用的谓词,这使得其余复杂的操作难以完成。晦涩难懂的 Union,Join 用法,使人难以忍受。所幸,Beta 2 中的 LINQ 终于对它们提供了完整支持。类似于 Group By,Join 等的谓词可以像 T-SQL 那样工作。从此,DLinq 的 SQL 支持不再仅有 Where 等最基础的功能。
加强的设计器支持
Beta 2 的 DLinq 设计器较 Beta 1 有相当的改进。主要包括增强的自定义功能,如实体类命名空间设置;同时,界面效果也更漂亮了。稳定性和速度都有了大幅提升,这一点在我个人当前的 Soobb 项目中深有体会。编译器也更稳定了,各种奇怪的 BUG 减少了许多。你可以看到,现在的聚合与继承的连接线终于有了区别,并且采用了折线。不过,似乎 Partial 实体类在 IDE 中会出现一个奇怪的错误,提示两个类名称冲突。
其他的一些特性
既然这里谈的是新特性,那就多说两句吧。作为完整功能测试版,Beta 2 拥有所有 Visual Basic 9 的新特性,同时包含了 Go-Live 许可证。这意味着未来的 Visual Studio 2008 版本(Beta 3?RC?)将不会作出大的变动。是的,您已经可以将您的项目迁移至 2008,不会有任何问题——.Net Framework 3.5 是完全向下兼容的。CLR 与 2.0 没有变化,所以 ASP.Net 的运行库始终是 2.0(这一点曾令我大惑不解)。
匿名方法为程序员提供了更高的灵活性,不再需要不停地定义 Private Sub 了;可为空类型语法增强也终于具备了。这个功能似乎是极小的语法糖,但是偶尔也有些作用。
Visual Basic 的匿名方法
Dim Temp = (Function (()Function(l As Integer) l + 1)(30)
Console.WriteLine(Temp)
结语
最近真是忙得过头,昨天才去安装的服务器,还在配置中... Soobb 开发周期又紧,恐怕中旬以前没有办法再写文章了。顺便预告一下下一个系列:LINQ 性能分析系列,欢迎您对此关注。还有一点提醒一下,就是 Beta 2 中的 DLinq 仍然不支持本地集合查询。
温故而知新
Visual Basic 9 不完全入门系列(1) : 语法糖
Visual Basic 9 不完全入门系列(2) : 语法增强
Visual Basic 9 不完全入门系列(3) : LINQ 简介
Visual Basic 9 不完全入门系列(4) : LINQ 进阶
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者