【发布时间】:2010-09-23 12:38:20
【问题描述】:
是否有任何基于 GUI 的工具可以帮助您编写和维护配置文件?任何代码工具来生成配置文件?让这件事变得更容易的最好方法是什么?现在大多数人都在使用 Castle ActiveRecord 吗?
【问题讨论】:
标签: nhibernate code-generation nhibernate-mapping
是否有任何基于 GUI 的工具可以帮助您编写和维护配置文件?任何代码工具来生成配置文件?让这件事变得更容易的最好方法是什么?现在大多数人都在使用 Castle ActiveRecord 吗?
【问题讨论】:
标签: nhibernate code-generation nhibernate-mapping
对于代码/映射生成,MyGeneration 有许多模板,用于从数据库创建配置文件和/或类。 CodeSmith 也有 NHibernate 模板,但 CodeSmith 不是免费的,所以 MyGeneration 在那里有优势。
MyGeneration 有一个 GUI,可让您下载模板、管理数据库连接、设置模板属性、生成代码等。这不是有史以来最好的用户体验,但它确实有效。
如前所述,如果您不想编写 XML 映射文件,Fluent-NHibernate 绝对值得一试。文档有点不存在,但是很容易上手。如果您发现自己进行了大量重构,这可以节省大量时间。
这是一个 Fluent-NHibernate 映射的示例:
public CustomerMap : ClassMap<Customer>
{
public CustomerMap()
{
Id(x => x.ID);
Map(x => x.Name);
Map(x => x.Credit);
HasMany<Product>(x => x.Products)
.AsBag();
Component<Address>(x => x.Address, m =>
{
m.Map(x => x.AddressLine1);
m.Map(x => x.AddressLine2);
m.Map(x => x.CityName);
m.Map(x => x.CountryName);
});
}
}
【讨论】:
我自己正在学习 NHibernate(来自 excellent Summer of NHibernate 系列)。我不知道任何 GUI 工具,但我想我会指出,如果您将 NHibernate schmema 文件(在安装的根文件夹中找到)安装到 C:\Program Files\Microsoft Visual Studio 9.0\Xml \Schemas,然后您将获得有关通用配置文件和映射配置文件的智能感知帮助。我发现这是一个很大的帮助。
【讨论】:
您可能希望查看 fluent hibernate 以获得类型安全的配置
【讨论】: