Картографирование слабой сущности - PullRequest
1 голос
/ 05 марта 2012

Я получил следующую слабую сущность (не может существовать без 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 \ "."}

1 Ответ

3 голосов
/ 05 марта 2012

Это может помочь при сопоставлении отношений один-к-одному в Fluent nHibernate: http://brunoreis.com/tech/fluent-nhibernate-hasone-how-implement-one-to-one-relationship/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...