0
我有几个类,如下所示:NHibernate的3.2映射按照惯例产生不必要的外键列
public class Client
{
public int Id {get;set;}
public string Name {get;set;}
}
public class User
{
public int Id {get;set;}
public string Email {get;set;}
public Client Client {get;set;}
}
我使用ConventionModelMapper和SchemaUpdate工具从NHibernate的3.2生成的我的SQL Server架构数据库,我希望User类的Client属性映射到带有外键的ClientId
列。我约定的代码如下所示:
mapper.AfterMapManyToOne += (inspector, member, map) =>
{
map.Column(member.LocalMember.Name + "Id");
// ...
};
这工作,因为我得到的是被映射为外键的列ClientId
,但我也有一个Client
列也被映射为外键结束。似乎NHibernate的被处理客户端属性既作为标准属性(以及因此产生用于它的Client
列),并且也是多对一属性(导致额外ClientId
列)。我怎样才能防止Client
列的产生