2012-03-14 2 views
1

유창한 nhibernate의 구성 요소를 사용하려고하는데 아래 오류가 나타납니다.유창한 Nhibernate 구성 요소를 사용하는 방법

FluentNHibernate.Cfg.FluentConfigurationException : SessionFactory를 생성하는 동안 올바르지 않거나 불완전한 구성이 사용되었습니다. PotentialReasons 콜렉션을 점검하고, 자세한 정보는 InnerException을 점검하십시오.

아래 코드가 정상적으로 보입니까, 아니면 뭔가 빠졌습니까? 다음은

내가

public class Liner 
{ 
    public virtual int Id { get; set; } 
    public virtual Thickness Thickness { get; set; } 
} 

엔티티에 대한지도는

public class LinerMap : ClassMap<Liner> 
{ 
    public LinerMap() 
    { 
     Table("Liner"); 
     Id(l => l.Id); 
     Component(l => l.Thickness);    
    } 
} 

아래로 내 엔티티 클래스에 구현 한

public class Thickness 
{ 
    public string Name { get; set; } 
    public byte ThicknessSize { get; set; } 
} 

재사용 할 객체 메신저 ttrying입니다 구성은 다음과 같습니다.

public static ISessionFactory CreateSessionFactory() 
    { 

     return Fluently.Configure() 
      .Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c 
       .Server("XXXXX") 
       .Database("XXXXX") 
       .Username("XXXXXXXXXX") 
       .TrustedConnection())) 
      .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Liner>()) 
      .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Thickness>()) 
      .BuildSessionFactory(); 
    } 

나는 유창 위키이

모든 아이디어는 기꺼이 환영 할 것이다 충분한 경우이 기능을 명시 적으로 .mapping 방법을 사용하는 필자 따라서 자동 매핑을 위해 일하지만, 확실하지 메신저하지 않는 것을 말한다 것으로 나타났습니다 GB

+2

다른 InnerExceptions가있는 InnerException을 보았습니까? 스택 추적에는 종종 단서가 있습니다. –

+0

또한 Component 메서드가 수행하는 작업과 그 작업의 네임 스페이스를 설명 할 수 있습니다. [ClassMap] (http://fluentnhibernate.org/api/FluentNHibernate.Mapping/ClassMap%601.htm) 문서에 나와 있지 않습니다. –

+0

CLASSMAP을 사용 중이므로 자동 매핑이 손실되었습니다. 오토 맵핑을 원하면 OVERRIDES를 사용해야합니다. – BradLaney

답변

1

Component method에 약간의 파고를하고 코드가 그 기능을 사용하려고하면 그것은 또 다른 매개 변수를 필요로한다. 나는 그것이 쓰여지는 방식으로 컴파일되는 이유가 확실치 않지만, 두 개의 매개 변수, 즉 reference 속성에 대한 매개 변수와 다른 참조 속성에 대한 매핑을 설명하는 매개 변수가 필요합니다.

+0

나중에 컴포넌트 메소드를 더 자세히 살펴 보겠습니다. 나는 이미 유창한 위키를 겪어 왔지만, 다시 살펴보고 나중에 시도 할 것입니다. – beaumondo

+0

결국 나는 그 구성 요소를 떠나고 별개의 개체를 만들기로 결정했습니다. – beaumondo

관련 문제