写点什么

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:00898
用户头像

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

关注

评论

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

The Grapes NFT 概览与数据分析

Footprint Analytics

区块链游戏 NFT

智能化测试框架与平台的设计与实现:基于人工智能技术的创新

测吧(北京)科技有限公司

测试

基于知识图谱的游戏自动化测试用例推导与生成

测吧(北京)科技有限公司

测试

游戏自动化测试框架与平台的模型驱动设计方法研究

测吧(北京)科技有限公司

测试

英特尔首推面向AI时代的系统级代工

E科讯

数字先锋| 天翼云赋能汤房社区数字化“智”理,打造居民生活“幸福圈”!

天翼云开发者社区

云计算 云服务 云平台

拟人化智能自动化遍历

测吧(北京)科技有限公司

测试

数字先锋| 变“制”为“智”!天翼云助力嵊州领航数字化烹饪时代!

天翼云开发者社区

人工智能 云计算

如何用二维码高效收集信息?表单功能轻松实现

草料二维码

二维码 表单 信息收集 草料二维码

动手实践丨轻量级目标检测与分割算法开发和部署(RK3568)

华为云开发者联盟

人工智能 自动驾驶 华为云 华为云ModelArts 华为云开发者联盟

如何为数据采集项目选择合适的API

Noah

AI数字人SadTalker实战

不在线第一只蜗牛

AI 数字人 人工智能技术

鸿蒙应用成企业布局新方向 鸿蒙人才成开年之后“香饽饽”

最新动态

构建SatelliteRpc:基于Kestrel的RPC框架(整体设计篇)

EquatorCoco

C# .net 架构 框架 开发语言

深度学习模型在游戏测试框架中的迁移学习研究

测吧(北京)科技有限公司

测试

能碳双控| AIRIOT智慧能碳管理解决方案

AIRIOT

智慧系统 能碳管理 智慧能碳

鸿蒙Next升级是否有便捷的方法?

Geek_2305a8

SD-WAN:三步轻松实现异地访问总部内网

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

基于人工智能的游戏测试平台:提高测试效率与准确性

测吧(北京)科技有限公司

测试

利用AI预测游戏中的潜在问题

测吧(北京)科技有限公司

测试

利用强化学习技术实现游戏自动化测试用例的智能生成

测吧(北京)科技有限公司

测试

掌握C语言指针,轻松解锁代码高效性与灵活性

快乐非自愿限量之名

编程语言 指针 C语言 开发语言

SD-WAN解决企业组网中网络卡顿问题

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

如何做代币分析:以 SHIB 币为例

Footprint Analytics

Token 代币

香港游戏服务器的选择与配置:打造极致游戏体验

一只扑棱蛾子

游戏服务器 香港服务器 香港游戏服务器

从零开始学Spring Boot系列-Hello World

不在线第一只蜗牛

Java 架构 Spring Boot 后端

面试官:限流的实现方式有哪些?

王磊

Java 面试

服装品牌升级必备:智能商品计划管理系统带来的五大惊喜!

第七在线

DAPP算力质押NFT合约系统开发|项目方案|技术成熟

l8l259l3365

SD-WAN案例:总部(MPLS)与分支(普通宽带)的互联互通

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

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