InfoQ

新闻

LLBLGen升级O/R Mapper和代码生成器

作者 Robert Bazinet译者 朱永光 发布于 2007年9月9日 下午9时1分

社区
.NET
主题
数据访问
标签
关系型数据库,
ORM,
代码生成

创建于荷兰的Solutions Design公司最近发布了他们旗舰产品的一个里程碑版本——LLBLGen Pro v2.5。这个2.5版本的O/R Mapper和代码生成器在今年1月份已经开始开发,具有很多新特性,包括审计、授权、依赖注入机制、超快超小的序列化能力(XML和二进制)、SQLServer CE Desktop版的支持、Sybase的支持和其他更多特性。

Frans Bouma,Solutions Design的创始者和开发人员之一,在他的博客中宣布了这个新版本,并提供了一些关于关键特性的细节,总结如下:

  • 审计支持:审计功能,经过某种配置后,你也可以用它作为一个专门的日记特性,其由框架提供了足够的透明性。
  • 授权支持:可以处理各种授权方式,不管你是使用Windows验证、线程安全主体、ASP.NET基于角色的安全模式或者你自己自定义的。
  • 依赖注入机制:添加了一个使用依赖注入(Dependency Injection)的机制到框架中,用于设置验证器(Validators)、并发判定工厂(Concurrency predicate factories)、审计器(Auditors )和授权器(Authorizers)。上面给出的例子是属于你项目中的代码,或属于独立的程序集。LLBLGen Pro框架的依赖注入机制注入了一个注释类的实例到标识了这个规定属性的类型中。
  • 快速且压缩率高的序列化/反序列化:加强了XML序列化/反序列化,把实体数据导出到XML或从XML中导入到实体现在很快,并且XML也很小。
  • 更加优秀预取路径:我们设计了预取路径引擎(提前加载)更加智能以至于能通过更多的方法来优化它创建的查询。这也导致更快的数据获取。所以我们也优化了大量快速获取数据的代码。
  • 名称的单数和复数:LLBLGen Pro 现在能基于一个插件系统来处理实体、字段等名称的单数和复数。这样允许用户添加一个插件来以他们的语言处理单数和复数。我们附带了一个英文版的插件,它基于Castle的Inflector类来实现。
  • 缩写词支持:LLBLGen Pro设计器可以通过实体的创建、字段的映射等功能来极大的帮助开发人员。关键的是,这些实体和字段的名称能轻易的从元数据中构造而来。缩写词的支持让你指定一个缩写词的列表——用于构建实体和字段名称的完整词对。
  • 内存中的分层过滤和投射(动态创建类型,译者注):LINQtoObject仍需一段时间来完善,关键的是一个数据持久机制需要正确处理内存中的实体过滤,也需要正确投射机制以便你能以不同方式来使用实体数据。基于运行在内存中相关实体的聚合函数和你自己编写的函数,成对的新判定类可以允许你过滤内存中的实体集,以便你能获取一个这样(客户和他们的订单及订单细节的实体)的实体图,然后在内存中创建一个实体视图来显示你想查看的那些客户信息。
  • 在获取数据时排除字段:一个称为“排除字段”的特性允许你定义一系列的字段,而这些字段在获取数据的时候被排除(或者只保留这些字段,其他字段都将被排除),凭据框架中包括实体的每个节点来处理每个获取数据的过程。如果你之后决定获取被排除的字段或者已经存在于实体中的字段,你可以通过一个特别的获取方法来实现,这个特别的方法能有效地从已排除的字段中获取数据,并合并到已存在的实体对象中。
  • Sybase ASA和ASE的支持,SQLServer CE Desktop的支持:对一连串的数据都能支持。这次,我们添加了Sybase家族(iAnywhere (ASA) 和Advanced Server Enterprise (ASE)),SQLServer CE Desktop也成为LLBLGen Pro能支持数据库列表中的一员。

LLBLGen Pro v2.5以每个许可证229欧元销售。更多的信息可以在LLBLGen Pro 网站上找到,那些也有文档、练习、视频、示范和一个精选的教程。

查看英文原文:LLBLGen Updates O/R Mapper and Code Generator

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!