我正在使用FluentNH自动化和约定。我建立了一个多对多的约定:
public class HasManyToManyConvention : IHasManyToManyConvention
{
public void Apply(IManyToManyCollectionInstance instance)
{
instance.Key.Column(instance.EntityType.Name + "Id");
instance.Relationship.Column(instance.Relationship.StringIdentifierForModel + "Id");
}
}
假设这些是我的桌子: 用户(ID,用户名,密码), 角色(ID,姓名)
生成数据库时,关联表正在生成: UserInRole(用户ID,角色ID)
但是,它没有复合主键集。知道如何解决这个问题吗?
任何?可能这是目前Fluent不支持吗?
答案 0 :(得分:0)
原则上,惯例应该保持不变。但是,而不是使用IList< User>和IList<角色>在我的实体定义上,我现在正在使用ISet< User>和ISet<角色>。现在NHibernate将自动在关联表上创建一个复合主键。