2011-11-11 10 views
1

とISessionFactoryを作成し、私はweb.configファイルで、中にすべてのマッピングとのマッピングをという名前のMVCプロジェクトでどのようにプロジェクトMyProject.DataでFluentNHibernate

namespace MyProject.Data.Mappings { 
    public class EmployeeMap : ClassMap<Employee> 
    { 
     public EmployeeMap() 
     { 
      Id(x => x.Id); 
      Map(x => x.FirstName).Not.Nullable().Length(100); 
      Map(x => x.LastName).Not.Nullable().Length(100); 
     } 
    } } 

フォルダを持っています。

<connectionStrings> 
    <add name="db" connectionString="Data Source=localhost\SQLExpress;Initial Catalog=MyDB;Integrated Security=True"/> 
    </connectionStrings> 

global.asax.csでは、私はISessionFactoryを作成したいと思います:

var nhConfig = Fluently.Configure().Database(MsSqlConfiguration.MsSql2008 
    .ConnectionString(c => c.FromConnectionStringWithKey("db"))) 
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<?????>()) 
    .BuildConfiguration(); 
ISessionFactory SessionFactory = nhConfig.BuildSessionFactory(); 

を私が必要とする:各マッピングファイルの.Mappings(m => m.FluentMappings.AddFromAssemblyOf<?????>())

おかげで、すべてのあなたのマッピングを探すために、どのアセンブリFNHを伝えるの目的を果たす

答えて

1

ありません。いずれかを指定するだけで、あなたは良いです。

したがって、すべてのマッピングが同じアセンブリ内に存在する場合は、以下のコードが役に立ちます。

var nhConfig = Fluently.Configure().Database(MsSqlConfiguration.MsSql2008 
.ConnectionString(c => c.FromConnectionStringWithKey("db"))) 
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<EmployeeMap>()) 
.BuildConfiguration(); 
+0

"????"を " MyProject.Data.Mappings.EmployeeMapによって作成され、他のすべてのマッピングでOKですか? –

+2

@ Kris-Iはい、すべてのマッピングが同じアセンブリ内にある場合(ほとんど同じプロジェクト内にある場合)、いずれかの型を指定すると、そのアセンブリがロードされ、読み込まれたすべての型が読み込まれ、すべての流暢なマッピングを動的に追加する必要があります。 – docmanhattan

関連する問題