2011-01-23 132 views
1

不知道我應該如何映射這個。我有兩個表fluent-nhibernate映射HasOne?參考?

周與列

標識,SeasionId,WeekStarts,MatchOfTheWeek

匹配與列

編號,位置,MatchDate,大紅大紫

我的周班有匹配的對象匹配

public virtual Match MatchOfTheWeek 
    { 
     get; 
     set; 
    } 

現在我有我的比賽

public MatchMapping() 
    { 
     Id(x => x.Id); 
     Map(x => x.Location); 
     Map(x => x.Rounds); 
     Map(x => x.MatchDate).Nullable(); 
     HasManyToMany(x => x.Boxers) 
      .Table("Boxer_Match") 
      .ParentKeyColumn("matchid") 
      .ChildKeyColumn("boxerid") 
      .AsSet() 
      .Cascade.SaveUpdate(); 
     HasOne(x => x.Result) 
      .Cascade.Delete(); 
    } 

和我的周映射

public WeekMapping() 
    { 
     Id(x => x.Id); 
     References(x => x.Season); 
     HasMany(x => x.Predictions).Cascade.SaveUpdate().Inverse(); 
     HasOne(x => x.MatchOfTheWeek).ForeignKey("MatchOfTheWeek"); 
     //References(x => x.MatchOfTheWeek).Nullable(); 
     HasManyToMany(x => x.Matches) 
      .Table("WeekMatch") 
      .ParentKeyColumn("WeekID") 
      .ChildKeyColumn("MatchId") 
      .AsSet() 
      .Cascade.All(); 
     Map(x => x.WeekStarts); 
    } 

Bascially由於Weekmapping顯示有它的錯誤映射。如果我換出HasOne來替換它是一個參考的評論線。那麼它不會報錯,但會返回空值

我在這裏做了什麼錯?

回答

3

我想你可能想使用:

References(x => x.MatchOfTheWeek).Nullable().Column("MatchOfTheWeek"); 

糾正我,如果我錯了,但我認爲它會試圖使用默認的約定使用的列MatchOfTheWeek_id

+0

感謝這就是爲什麼我愛stackoverflow ...如此快速的答案! – Steve 2011-01-23 23:57:00