写点什么

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

  • 2011-09-27
  • 本文字数:1176 字

    阅读完需:约 4 分钟

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

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

<p><span face="Consolas"><span color="#000000"><span>[<Generate><generate>] <br></br></generate></span></span></span><span face="Consolas"><span><span><span color="#0000ff">type</span></span><span color="#000000"> Northwind = ODataService<</span><span><span color="#a31515">"http://services.odata.org/Northwind/Northwind.svc/"</span></span></span></span><span face="Consolas"><span><span color="#000000">> <br></br></span><span><span color="#0000ff">let</span></span><span color="#000000"> db = Northwind.GetDataContext()</span></span></span></p><p><span color="#000000"><span>query { </span></span><span><span><span color="#0000ff">for</span></span><span color="#000000"> cat </span><span><span color="#0000ff">in</span></span><span color="#000000"> db.Categories </span><span><span color="#0000ff">do</span></span> <br></br></span><span face="Consolas"><span color="#000000"> select (cat.CategoryID, cat.CategoryName, cat.Description) } <br></br></span></span><span><span face="Consolas"><span color="#000000"> |> Seq.iter (</span><span><span color="#0000ff">fun</span></span></span></span><span face="Consolas"><span><span color="#000000"> (id, name, description) –><br></br></span></span></span><span face="Consolas"><span><span color="#000000"> printfn </span><span><span color="#a31515">"ID: %d\nCategory: %s\nDescription: %s\n"</span></span><span color="#000000"> id name description)</span></span></span></p>常用的几种数据源已有内置的类型提供程序了:OData 服务、数据库连接、数据库架构、通过实体数据模型指定的数据、Web 服务和资源文件。此外,类型系统是开放和可扩展的,这允许开发者以及第三方创建他们自己的提供程序。

其它新特性的简述:

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

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

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

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

2011-09-27 06:122580

评论

发布
暂无评论
发现更多内容

AI 技术在英语培训 App 中的应用

北京木奇科技有限公司

AI技术开发 软件外包公司 AI英语学习

CPS、CPC、CPV……海外红人营销哪种计价方式最划算?

Wolink

跨境贸易 出海企业 海外推广 沃链Wolink 达人营销

通义上线 FunAudio-ASR,噪声场景幻觉率降 70%;盒智科技推出 AI 口语练习陪伴设备 Lookee 丨日报

RTE开发者社区

区块链U卡APP的开发周期

北京木奇科技有限公司

区块链开发 软件外包公司 web3开发

CAD中如何关闭图层?CAD图层关闭教程来了

在路上

cad cad看图 CAD看图王

如何在YashanDB数据库中进行多租户设计

数据库砖家

能源管理的数字神经:MyEMS如何重塑能效认知

开源能源管理系统

开源 能源管理系统

开源・数据・能效:MyEMS 如何成为能源管理革新的核心引擎

开源能源管理系统

开源 开源能源管理系统

解决方案 | 数据堂全栈式数据服务,助力客户构建行业高质量数据集

数据堂

人工智能 AI 数据标注 数据服务 高质量数据集

企业实现持续规划与智能财务的完整指南

智达方通

企业管理 智能财务 全面预算管理 财务管理

AI技术在英语培训中的应用

北京木奇科技有限公司

软件外包公司 AI英语学习 AI英语

非凸科技受邀出席2025苏州私募投资峰会,共话新格局下行业发展新机遇

非凸科技

如何在YashanDB数据库中实施数据版本控制?

数据库砖家

能流新智:MyEMS与开源时代的能源感知

开源能源管理系统

开源 开源能源管理系统

2025年网络安全周相关问题汇总

行云管家

网络安全 网络安全周

如何在YashanDB数据库中设计灵活的查询接口

数据库砖家

如何在YashanDB数据库中进行数据备份与恢复

数据库砖家

你真的了解RFID吗?那些你未曾注意的日常应用

斯科信息

RFID解决方案 RFID技术 RFID标签 RFID通道机 RFID仓储通道门

烟草专卖执法案卷制作平台:保障案卷质量,提升工作效率

中烟创新

Qoder 正式开放订阅,Credits 耐用度提升1/3

阿里巴巴云原生

阿里云 Qoder

2025灯具照明行业转型:AI+MES实现智能化升级

万界星空科技

数字化转型 mes 灯具照明行业 灯具照明MES AI智能化MES

如何在YashanDB数据库中实施审计和合规性

数据库砖家

函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代

阿里巴巴云原生

阿里云 Serverless 云原生

构建全球话语感知系统:海外舆情监测的战略意义

沃观Wovision

跨境贸易 出海企业 沃观Wovision 舆情监测系统 海外舆情监测

通知语音播报功能,解锁全新体验

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

腾讯开源框架 Kuikly 再升级!率先适配 “液态玻璃”,原生体验更极致

极客天地

一句话让AI帮你搞营销?火山引擎Data Agent说:这事儿可以的~

字节跳动数据平台

运维审计是审计吗?两者有什么区别?

行云管家

运维审计 运维审计系统

直播问答类微信小程序应用

微擎应用市场

如何在YashanDB数据库中实施多层架构

数据库砖家

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程_.NET_Roopesh Shenoy_InfoQ精选文章