У меня есть объект Site, как этот
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();
.
Как мне отобразить это, когда два связанных объекта находятся в разных схемах?