SQLAzureでFluentNHibernateマッピングを使用するには、すべてのテーブルにクラスター化インデックスが必要です。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");
}
}
さらに情報が必要な場合はお知らせください。