2012-03-05 203 views
1

我得到了以下弱實體(不含wiki頁面不能存在):映射弱實體

CREATE TABLE WikiPageTree 
(
    PageId int NOT NULL, 
    Title nvarchar(1000) NOT NULL, 
    Lineage nvarchar(1000) NOT NULL, 
) 

PageId是一個FK到Page.Id。這是一個1-1映射。

映射的外觀應該如何?我無法弄清楚如何指定fluent-nhibernate需要的Id映射。

我嘗試以下作爲答案建議通過@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 \」。 「}

+0

[Fluent NHibernate&one-to-one]可能的重複(http://stackoverflow.com/questions/2071274/fluent-nhibernate-one-to-one) – jgauffin 2012-03-05 14:06:01

回答