Я получил следующую слабую сущность (не может существовать без WikiPage):
CREATE TABLE WikiPageTree
(
PageId int NOT NULL,
Title nvarchar(1000) NOT NULL,
Lineage nvarchar(1000) NOT NULL,
)
Где PageId
- от FK до Page.Id
. Это отображение 1-1.
Как должно выглядеть отображение? Я не могу понять, как указать отображение Id
, которое требуется для fluent-nhibernate.
Я попробовал следующее, как предложено в ответе @WillDaBest:
public class WikiPageTreeMap : ClassMap<WikiPageTreeNode>
{
public WikiPageTreeMap()
{
Table("WikiPageTree");
LazyLoad();
Id(Reveal.Member<WikiPageTreeNode>("PageId")).GeneratedBy.Foreign("Page");
HasOne(x=>x.Page).Constrained().ForeignKey();
//Id(x => x.Page).Column("PageId");
//References(x => x.Page).Column("PageId");
Map(x => x.Path).Column("Title").Not.Nullable().Length(1000);
Map(x => x.Lineage).Column("Lineage").Not.Nullable().Length(1000);
}
}
Но это дает мне ошибку
{"Необходимо объявить скалярную переменную \" @ p0 \ "."}