1:我们可以得到一个Configuration的实例,直接实例化它即可,下面有一个例子,用来从两个XML配置文件(和exe文件在同一个目录下)中的映射中初始化:

Configuration cfg = new Configuration()
    .AddXmlFile("Item.hbm.xml")
    .AddXmlFile("Bid.hbm.xml");

 

2:另外一个(某些时候更好的)方法是让NHibernate自行用GetManifestResourceStream()来装载映射文件

Configuration cfg = new Configuration()
.AddClass( typeof(NHibernate.Auction.Item) )
.AddClass( typeof(NHibernate.Auction.Bid) );

NHibernate 就会在这些类型的程序集的嵌入的资源中寻找叫做NHibernate.Auction.Item.hbm.xmlNHibernate.Auction.Bid.hbm.xml的映射文件。这种方法取消了所有对文件名的硬编码。

3:

另外一个(可能是最好的)方法是让NHibernate读取一个程序集中所有的配置文件:

Configuration cfg = new Configuration()
.AddAssembly( "NHibernate.Auction" );

NHibernate将会遍历程序集查找任何以hbm.xml结尾的文件。 这种方法取消了所有对文件名的硬编码并且确保程序集中的配置文件文件都会被加载。