NHibernate-有没有什么好的工具可以帮助您处理配置文件?

NHibernate-有没有什么好的工具可以帮助您处理配置文件?,nhibernate,code-generation,nhibernate-mapping,Nhibernate,Code Generation,Nhibernate Mapping,是否有任何基于GUI的工具来帮助您编写和维护配置文件?是否有代码生成配置文件的代码工具?让这变得容易一点的最好方法是什么?大多数人现在都在使用Castle ActiveRecord吗?我自己也在学习NHibernate(从这个系列中)。我不知道有任何GUI工具,但我想我应该指出,如果您将NHibernate schmema文件(位于安装的根文件夹中)安装到C:\Program files\Microsoft Visual Studio 9.0\Xml\Schemas,那么您将获得有关常规配置文件

是否有任何基于GUI的工具来帮助您编写和维护配置文件?是否有代码生成配置文件的代码工具?让这变得容易一点的最好方法是什么?大多数人现在都在使用Castle ActiveRecord吗?

我自己也在学习NHibernate(从这个系列中)。我不知道有任何GUI工具,但我想我应该指出,如果您将NHibernate schmema文件(位于安装的根文件夹中)安装到C:\Program files\Microsoft Visual Studio 9.0\Xml\Schemas,那么您将获得有关常规配置文件和映射配置文件的intellisense帮助。我发现这是一个很大的帮助。

我自己也在学习NHibernate(从这个系列中)。我不知道有任何GUI工具,但我想我应该指出,如果您将NHibernate schmema文件(位于安装的根文件夹中)安装到C:\Program files\Microsoft Visual Studio 9.0\Xml\Schemas,那么您将获得有关常规配置文件和映射配置文件的intellisense帮助。我发现这是一个很大的帮助。

您可能需要查看fluent hibernate以获得类型安全配置

您可能需要查看fluent hibernate以获得类型安全配置

对于代码/映射生成,有许多用于从数据库创建配置文件和/或类的模板。也有NHibernate模板,但CodeSmith不是免费的,所以MyGeneration在这方面有优势

MyGeneration有一个GUI,可以让您下载模板、管理数据库连接、设置模板属性、生成代码等。这不是最好的用户体验,但它可以工作

如前所述,如果您不想编写XML映射文件,那么绝对值得一试。文档有点不存在,但很容易开始。如果你发现自己在做大量的重构,它可以节省很多时间

以下是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);  
    });
  }
}
publiccustomemap:ClassMap
{
公共客户映射()
{
Id(x=>x.Id);
Map(x=>x.Name);
Map(x=>x.Credit);
有很多(x=>x.Products)
.AsBag();
组件(x=>x.地址,m=>
{  
m、 Map(x=>x.AddressLine1);
m、 Map(x=>x.AddressLine2);
m、 Map(x=>x.CityName);
m、 Map(x=>x.CountryName);
});
}
}

对于代码/映射生成,有许多用于从数据库创建配置文件和/或类的模板。也有NHibernate模板,但CodeSmith不是免费的,所以MyGeneration在这方面有优势

MyGeneration有一个GUI,可以让您下载模板、管理数据库连接、设置模板属性、生成代码等。这不是最好的用户体验,但它可以工作

如前所述,如果您不想编写XML映射文件,那么绝对值得一试。文档有点不存在,但很容易开始。如果你发现自己在做大量的重构,它可以节省很多时间

以下是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);  
    });
  }
}
publiccustomemap:ClassMap
{
公共客户映射()
{
Id(x=>x.Id);
Map(x=>x.Name);
Map(x=>x.Credit);
有很多(x=>x.Products)
.AsBag();
组件(x=>x.地址,m=>
{  
m、 Map(x=>x.AddressLine1);
m、 Map(x=>x.AddressLine2);
m、 Map(x=>x.CityName);
m、 Map(x=>x.CountryName);
});
}
}