2012-03-05 205 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

回答