Fluent-NHibernate,在单向关系中指定FK属性

时间:2011-11-03 19:22:53

标签: c# nhibernate fluent-nhibernate nhibernate-mapping

映射1:n关系会自动创建一个FK列,在下面的示例中,是Book表中的一列Author_id。但是,如何将此值作为Book实体的属性提供?如果我在AuthorID中创建一个属性,是否可以使NHibernate使用此属性作为外键,所以我可以以编程方式访问它?

public class Author
{
  public IList<Book> Books { get; set; }
}

//AuthorMap:
HasMany(x => x.Books);

1 个答案:

答案 0 :(得分:0)

据我所知,你需要一种双重关系。 只需在Book类中添加属性Author

即可
public virtual Author Author {get; set;}

并将其映射为Book Mappping文件中的参考

Reference(x => x.Author);

您可以为两个映射指定相同的FK列名称,以确保链接相同的表列。

如果您确实需要在book中使用int AuthorID,那么创建此属性并将其设置为Not.Update和Not.Insert,只需将其设为只读。