在单向关系中指定FK属性

本文关键字:FK 属性 关系 | 更新日期: 2023-09-27 18:13:16

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

public class Author
{
  public IList<Book> Books { get; set; }
}
//AuthorMap:
HasMany(x => x.Books);

在单向关系中指定FK属性

我从问题中了解到,您需要双向关系。只需在Book类中添加Author属性

public virtual Author Author {get; set;}

并将其映射为图书映射文件

中的参考
Reference(x => x.Author);

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

如果你真的需要在book中有int AuthorID,那就创建这个属性并将其设置为Not。更新和不更新。插入