为了在 SQL Azure 上使用我的 Fluent NHibernate 映射,我需要在每个表上都有一个聚集索引。Fluent NHibernate 为多对多连接创建的默认堆表显然不这样做,因为它们没有主键。
我希望能够告诉关系的一方为其连接表创建聚集索引,但我不确定如何。这是我的映射的样子:
public class UserMap : ClassMap<User>{
public UserMap()
{
Table("Users");
Id(x => x.UserId).GeneratedBy.Identity().Column("UserId");
Map(x => x.UserName).Unique().Not.Nullable().Length(DataConstants.UserNameLength).Column("UserName");
Map(x => x.Email).Unique().Not.Nullable().Length(DataConstants.EmailAddressLength).Column("Email");
Map(x => x.Password).Not.Nullable().Length(DataConstants.PasswordHashLength).Column("Password");
HasMany(x => x.Clicks).Cascade.AllDeleteOrphan();
HasManyToMany(x => x.Roles).Cascade.SaveUpdate().Table("UsersInRole").ParentKeyColumn("UserId").
ChildKeyColumn("RoleId");
}
}
如果您需要更多信息,请告诉我!