2011-01-27 5 views
2

FluentNHibernate 구성, FluentMappings.AddFromAssembly;

.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Product>() 

그것이 무엇을 하는가 라인을 의미? ClassMap에서 파생 된 Product 클래스의 어셈블리에서 클래스를 찾습니다. 아니면 뒤에 논리가 무엇입니까? 그 어셈블리의 무작위 클래스를 여기에두고이 어셈블리의 모든 매핑 클래스를 찾을 수 있을까요?

private static ISessionFactory CreateSessionFactory() 
    { 
      return Fluently.Configure() 
      .Database(MsSqlConfiguration.MsSql2008 
      .ConnectionString(Properties.Settings.Default.FnhDbString) 
      .Cache(c => c 
       .UseQueryCache()).ShowSql()) 
      .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Product>() 
      .Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never())) 
      .BuildSessionFactory(); 
    } 

답변

3

나는 항상 당신이 AddFromAssemblyOf를 사용할 때, 유창 어셈블리의 모든 클래스를 매핑 할 것이라고 생각했다.

따라서 ClassMap이 포함 된 어셈블리에서 클래스 하나를 추가하면됩니다. fluent wiki

가깝지만 다음 YourEntity

포함 된 어셈블리에서 유창함 매핑을 추가로

추가

+1

는 또한'여기서() '에있어서 그 후에 지정 체인화 할 클래스가 충족해야하는 몇 가지 기준. –

+1

확인. 그래서 "모든 클래스"가 아니라 ClassMap을 구현하는 모든 클래스를 가정합니다. (?) – bretddog

+1

Fluent-NHibernate의 내부 구조를 알지 못합니다. 그러나 모든 클래스에서 그 방법을 열거하고 ClassMap을 구현하는 클래스를 반환한다고 의심됩니다. . – Rippo

관련 문제