2011-01-23 133 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