0
我有一個對象網站,像這樣的流利NHibernate的映射關係在模式間
public class Site
{
public virtual int SiteId { get; set; }
public virtual Options Options { get; set; }
}
而且我有一個選項對象
public class Options
{
public virtual int OptionsId { get; set; }
private int SiteId { get; set; }
private Site Site { get; set; }
}
這裏需要說明的是,我不能添加任何字段的Site
表。在過去,我已經做了這樣的映射
public class SiteMap : ClassMap<Site>
{
public SiteMap()
{
Table("Sites");
HasOne<Options>(x => x.Options)
.Cascade.All();
}
}
public class OptionsMap : ClassMap<Options>
{
public OptionsMap()
{
Table("Options");
Id(Reveal.Property<Options>("SiteId")).GeneratedBy.Foreign("Site");
HasOne<Site>(Reveal.Member<Options, Site>("Site"))
.Constrained()
.ForeignKey();
}
}
這總是很好。除了一個小snaffu - 我的選項表是在不同的模式。我已將Schema("MySchema");
添加到我的Options
對象的映射中,但是當我嘗試獲取網站時,我沒有收到任何迴應。我很確定我的問題是.ForeignKey();
。
如何在兩個相關對象處於不同模式中時映射此對象?
你檢查,有在DB匹配的站點行?如果它是一個錯誤的模式,你會得到一個sql-exception,指出表(在錯誤的模式中)找不到 – Firo