BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程

| 作者 Roopesh Shenoy 关注 0 他的粉丝 ,译者 李永伦 关注 0 他的粉丝 发布于 2011年9月28日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

微软最近宣布了F# 3.0的开发者预览版——新特性包括通过查询表达式支持LINQ,以及类型提供程序系统和一组内置的提供程序,使得对各种数据源的编程变得简洁。

F# 3.0的富信息编程特性使你可以对数据库、Web服务、Web数据源和数据代理直接编程。比如说,你现在可以这样做:

[<Generate>]
type Northwind = ODataService<"http://services.odata.org/Northwind/Northwind.svc/">
let db = Northwind.GetDataContext()

query { for cat in db.Categories do
select (cat.CategoryID, cat.CategoryName, cat.Description) }
|> Seq.iter (fun (id, name, description) –>
printfn "ID: %d\nCategory: %s\nDescription: %s\n" id name description)

常用的几种数据源已有内置的类型提供程序了:OData服务、数据库连接、数据库架构、通过实体数据模型指定的数据、Web服务和资源文件。此外,类型系统是开放和可扩展的,这允许开发者以及第三方创建他们自己的提供程序。

其它新特性的简述:

  • 自动实现的属性允许属性没有后端存储
  • 参数帮助和增强智能感知
  • 为可空类型提供类库支持,包括转换运算符和算术运算符
  • 适用于国际单位系统(SI)的度量单位类型。这之前是放在F# PowerPack里的,现在已经归入F#核心库了。

你可以在MSDN文档里查阅详情。你也可以从CodePlex下载F# Sample Pack查看这些特性。

F#是一种多范式编程语言,它针对.NET Framework,并贯彻了函数式编程命令式编程和面向对象编程的原则。

查看英文原文:F# 3.0 – LINQ + Type Providers = Information Rich Programming

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT