写点什么

Jasper: 没有代码生成器或配置文件的 ORM

  • 2007-05-08
  • 本文字数:933 字

    阅读完需:约 3 分钟

Jasper 是微软为快速应用程序开发专门设计的新 ORM 项目。不像微软早期的其他类似项目,这个 ORM 不需要代码生成器。它的目标是:“让快速开发和访问数据真正变得既快又简单”。

常规的 ORM(Object-Relational Mapping)一般都具有如下三个特性的一种。第一,纯手工代码,每一个数据类都手动创建,不需要 IDE 的帮助。第二,微软惯用的代码生成器。从早期 的.NET 技术如 Typed DataSet(类型化数据集)到 LINQ,代码生成器都通过映射数据库结构来生成领域对象。

在 Java 和开源世界里,配置文件是最常用的。这些配置文件,通常使用 XML 来定义这些领域对象在运行时应该像什么样子。当有工具来辅助生成这些 XML 配置文件的时候,最终的效果和上面提到的代码生成器也就很类似了。

微软开发代号为“Jasper”的项目是为了满足快速而重复的数据库应用程序开发的需要而提供的一系列组件。在 Jasper 的帮 助下,你只需要连接到数据库,就可以马上开始直观的使用领域特定(domain-specific)的数据对象来编写访问数据的程序了。无需配置文件,无 需代码生成器。Jasper 能够在现有的应用程序框架(包括 ASP.NET,WinForms 和 WPF)和现有的数据库下很好的工作。

从实际情况看来,这意味着数据对象是在运行时基于数据库结构而生成的。理想的话,这将让你从 LINQ 中获得一个丰富的体验,而无需担心生成的代码是否和数据库结构同步。

对于这个最初的CTP 版本,能使用的语言只有 Visual Basic 9 IronPython 1.1 。C#由于不具备后期绑定的特性来和运行时生成的对象进行交互,所以不能在 Jasper 中使用。

由 DLR 提供的动态特性充分为 Jasper 进行了考虑。理论上,Jasper 将可以通过添加额外方法和属性的形式,让商业规则附加到运行时动态生成的数据对象上。

查看英文原文: Jasper: ORM without Code Generators or Configuration Files


译者简介:朱永光,IT 自由人和环境保护者,微软最有价值专家(MVP)和 MCSD。他有 14 年的编程实践经历,5 年软件构架和开发管理经验,擅长微软相关技术和产品,目前主要关注软件构架和开发框架,是成都.NET 俱乐部副主席和核心讲师,个人博客为 http://redmoon.cnblogs.com 。现在他作为共同创始人经营着一家环境保护技术公司。为InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com

2007-05-08 00:001316
用户头像

发布了 254 篇内容, 共 69.5 次阅读, 收获喜欢 2 次。

关注

评论

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

分布式数据库的进度管理:TiDB 备份恢复工具 PiTR 的原理与实践

PingCAP

Sermant Backend配置管理功能在微服务治理场景中的应用

华为云开源

开源 微服务治理 sermant

Photomator for mac 技术领先的照片编辑工具

Rose

1688电商数据化运营新篇章:深度解析阿里巴巴商品详情API返回值的应用

代码忍者

pinduoduo API API 性能测试

GIS、向量、文字检索...火山引擎ByteHouse集成全场景分析能力

字节跳动数据平台

大数据 数据仓库 云原生 向量检索

平凯星辰亮相 2024开放原子开源生态大会,分享开源教育及社区治理经验

PingCAP

AI与消费电子的双向奔赴,2024世界消费电子展值得一探!

AIOTE智博会

消费电子展 消费电子展会 消费电子展览会

零信任身份安全如何做到安全防护

芯盾时代

身份安全 零信任模型

HarmonyOS NEXT 模拟登录页,华为账号一键登录

李洋-蛟龙腾飞

HarmonyOS NEXT

从0到1:多服务厅预约小程序开发笔记(上)

CC同学

“探索端智能,加速大模型应用” 火山引擎边缘智能x扣子技术沙龙圆满落幕!

火山引擎边缘云

边缘计算 机器人 物联网, 智能IoT边缘服务 #大模型

等保三级堡垒机基本要求简单概述以及厂商推荐

行云管家

堡垒机 等保测评 等保三级

“软件定义汽车”下的软件虚拟化技术

DevOps和数字孪生

解锁电商精准营销新境界:深入解析亚马逊国际商品详情API的返回值

代码忍者

API 测试 pinduoduo API

VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布

sysin

esxi

Lock-It for Mac应用程序加密工具,保障数据安全!

Rose

测试要不要转岗产品经理?

老张

产品经理 软件测试 职业发展

第69期 | GPTSecurity周报

云起无垠

文献解读-Listeria monocytogenes personalized cancer vaccines drive therapeutic immune responses to cancer derived neoantigens

INSVAST

基因数据分析 生信服务

万界星科技低代码云MES中的四大现场执行管理模式

万界星空科技

低代码 mes 万界星空科技 低代码mes 低代码云MES

如何选择LED显示屏型号以满足使用需求

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

Spring Boot3集成iText实现PDF导出功能

江南一点雨

数字样机:惯性导航系统控制单元仿真

DevOps和数字孪生

数字样机

如何利用 Milvus 实现多模态搜索

Zilliz

Milvus Zilliz 向量数据库 多模态搜索

免费试听 | 深圳测试开发线下周末班,从自动化到测试平台开发

测试人

软件测试

分布式数据库的进度管理:TiDB 备份恢复工具 PiTR 的原理与实践

PingCAP

从 RAG 到 KAG:我们将发布国内首个专业领域知识增强服务框架

可信AI进展

Navicat Charts Creator for Mac(Navicat图表创建器) v1.2.14激活版

Rose

Jasper:没有代码生成器或配置文件的ORM_.NET_Jonathan Allen_InfoQ精选文章