2011-01-23 10 views
1

どのようにマップする必要があるか分かりません。私は、列の列を持つ流暢なnhibernateのマッピングHasOne?参照?

ID、SeasionId、WeekStarts、MatchOfTheWeek

マッチ

ID、場所、MatchDateを持つ2つのテーブル

週を持っている

を丸め私の週クラスは種類のオブジェクトを持っています

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(); 
    } 

と私の週のマッピングWeekmappingはそれでエラーが示されるBasciallyのよう

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); 
    } 

を持っています。もし私がHasOneをスワップして、それを参照であるコメント行に置き換えたら。それはエラーではありませんが、nullを返します

私はここで間違っていますか?

答えて

3

私はあなたがおそらく使用したいと思う:私が間違っている場合

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

は私を修正して、私はデフォルトの規約を使用してカラムMatchOfTheWeek_idを使用しようとすることだと思います。

+0

これは私がstackoverflowが大好きな理由です...とても速い答え! – Steve

関連する問題