【发布时间】:2010-11-11 12:27:03
【问题描述】:
我们正在将 ASP.NET WebForms 应用程序重构为 ASP.NET MVC (3)。我们以通常的 ClassName.hbm.xml 格式定义我们的映射。但是现在我们发现这对于您可以使用 MVC 在类属性上指定的属性似乎有点多余。
是否有一种简洁明了的方式告诉 NHibernate 使用属性来构建映射,而不是使用 XML 文件?
【问题讨论】:
标签: c# asp.net-mvc nhibernate
我们正在将 ASP.NET WebForms 应用程序重构为 ASP.NET MVC (3)。我们以通常的 ClassName.hbm.xml 格式定义我们的映射。但是现在我们发现这对于您可以使用 MVC 在类属性上指定的属性似乎有点多余。
是否有一种简洁明了的方式告诉 NHibernate 使用属性来构建映射,而不是使用 XML 文件?
【问题讨论】:
标签: c# asp.net-mvc nhibernate
看看fluent Nhibernate。您可以使用它通过代码轻松配置映射。 您还可以使用它读取在您的类上声明的属性并适当地设置映射(参见http://mookid.dk/oncode/archives/139 示例)
【讨论】:
使用属性映射的“半官方”方式是NHibernate.Mapping.Attributes,contrib project。
还有Castle.ActiveRecord,它实际上足够灵活不会强迫您使用 ActiveRecord 模式,因此您可以将其主要用于仅使用其属性进行映射。
Fluent NHibernate 已经提到过。
另一个映射工具是ConfORM(有点类似于 Fluent NHibernate),由当前的 NHibernate 开发主管创建。
之前的几个比较 Fluent NHibernate 和属性映射的问题:
【讨论】: