2009-05-27 5 views
16

同僚と私は最近、流暢NHibernateはを使用して小さなアプリケーションのバックエンドをしていました。エンティティ、マッピングファイル、永続性マネージャを書きましたが、なんらかの理由でデータベーススキーマを何かにエクスポートできませんでした。 流暢NHibernateはFluentMappings.AddFromAssemblyOf <>特集

デバッガを通して、私たちはFluentMappings.AddFromAssemblyOfは、彼らが明らかに存在しているにもかかわらず、0マッピングを返す、と明らかに正しいことを発見しました。我々は考えることができるすべてを試し、手動で各マッピングを追加する必要がありました。

 return Fluently.Configure().Database(
      MsSqlConfiguration.MsSql2005 
       .ConnectionString(c => c 
       .TrustedConnection() 
       .Server("localhost") 
       .Database("LDTT"))) 
       .Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>()) 
      .ExposeConfiguration(BuildSchema) 
      .BuildSessionFactory(); 

このコードは仕事をしたのに対し:

次は動作しませんでしたコードである

 return Fluently.Configure().Database(
      MsSqlConfiguration.MsSql2005 
       .ConnectionString(c => c 
       .TrustedConnection() 
       .Server("localhost") 
       .Database("LDTT"))) 
       .Mappings(m => m.FluentMappings.Add<ClientMap>()) 
       .Mappings(m => m.FluentMappings.Add<ContactMap>()) 
       .Mappings(m => m.FluentMappings.Add<DepartmentMap>()) 
       .Mappings(m => m.FluentMappings.Add<DivisionMap>()) 
       .Mappings(m => m.FluentMappings.Add<FileMap>()) 
       .Mappings(m => m.FluentMappings.Add<FileTypeMap>()) 
       .Mappings(m => m.FluentMappings.Add<RegionMap>()) 
       .Mappings(m => m.FluentMappings.Add<TimeEntryMap>()) 
       .Mappings(m => m.FluentMappings.Add<UserMap>()) 
      .ExposeConfiguration(BuildSchema) 
      .BuildSessionFactory(); 

これがなぜ起こるか誰もが知っていて、それを修正する方法?

+1

1あなたは私にマッピング – Phil

答えて

18

はユーザマップ公共タイプを確認します。

+0

大きな影響を持つ私の部分に小さな見落としを設定する方法を見つけ出す手助けので。ご協力いただきありがとうございます! – Cody

+0

BAH! - 私を捕まえた! – TWith2Sugars