BT

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

连贯NHibernate正式发布1.0候选版

| 作者 Abel Avram 关注 11 他的粉丝 ,译者 王波 关注 0 他的粉丝 发布于 2009年8月24日. 估计阅读时间: 4 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

连贯NHibernate项目的创始人James Gregory宣布项目已经到达了另一个里程碑——1.0版本,当前已发布候选版本。

发布说明中提到在映射方面的多项特性和改进:

  • 简洁的方法名——清除了方法名中的多余信息,比如:WithLengthOf现在只剩下Length;ColumnName改成Column,WithTableName变成Table等等
  • 删除SetAttribute——在项目不支持所需属性时,SetAttribute是程序员使用连贯NHibernate来解决问题的权宜之计。我们在连贯接口的主要属性支持方面已有很大的改善,所以你们无需该属性。如果我们仍遗漏你所需要的任何属性,请通知我们(最好给我们发个补丁程序)
  • 单独的子类映射——子类应当与其父类映射分别定义。使用SubclassMap<T>代替ClassMap<T>。如果最顶层映射(ClassMap)包含DiscriminateSubclassesOnColumn调用,该子类则会以每个类分层结构一张表的方式映射。查看子类集获取更多信息。
  • 重命名静态入口点——AutoPersistenceModel.MapEntitiesFromAssemblyOf<Product>过于冗长,重新命名为AutoMap.AssemblyOf<Product>
  • 组件——在自动映射方面完善对组件的支持。运作方式不变,现在还支持所有集合和对象。查看组件获取更多信息。
  • 针对所有类型的IgnoreProperty——我们现在可以使用IgnoreProperty来支持多种类型,来代替每个实体类型。查看忽略属性获取更多信息。

在约定方面,我们发现:

  • 首先应用——它们在你显示设置ClassMap之前使用。这意味着不会意外重写你的映射
  • 默认应用——过去常约定使用Accept方法,大多数人只让它返回true,这表示可应用于所有事物,或检查在ClassMap中是否已经设定某个值。考虑一下前面的变化,这使得Accept变得多余。约定可应用于所有事物。如果你不想那样,可用IClassAcceptance接口来添加这种行为
  • 可接受标准——在需要定义Accept的时候,有新的标准API以更一致的方式对它进行定义。查看可接受标准获取更多信息
  • ForeignKeyConvention——提供连续跨越整个映射的用于设定外键名称的基类。查看ForeignKeyConvention获取更多信息
  • ManyToManyTableNameConvention——用于设定多对多表名的(默认)基类。它比以前更加智能,无需重写显示设置并支持双向关联。查看ManyToManyTableNameConvention获取更多信息

Gregory希望该项目不会长期停留在候选版阶段,随后会对其进行大量的测试。

连贯NHibernate通过C#代码提供连贯映射来使用XML。它也提供自动映射,该映射使用直接从实体创建映射的机制。可以从InfoQ/连贯NHibernate获取连贯NHibernate的快速入门资料。更详细的资料可从连贯NHibernate Wiki页获取。下载页包括了源代码和可执行文件。

查看英文原文:Fluent NHibernate Has Been Released as 1.0 RC

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

我上周给Fluent NHibernate汇报了一个bug by Jeffrey Zhao

第三天就被修复了,动作很快,似乎他们不断在更新binary文件下载。

Re: 我上周给Fluent NHibernate汇报了一个bug by Wu Junyin

“连贯” 这个名词起得真的不好看。。。。

允许的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通知我

2 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT