相关疑难解决方法(0)

流利的NHibernate:如何在多对多联接表上创建聚簇索引?

为了在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");

    }
}
Run Code Online (Sandbox Code Playgroud)

如果您需要更多信息,请告诉我!

sql nhibernate fluent-nhibernate azure-sql-database

3
推荐指数
1
解决办法
2015
查看次数

Fluent NHibernate映射使用HasMany Component创建聚簇索引

我有一个Fluent NHibernate映射覆盖,我用它来创建一个HasMany组件.有没有办法让NH在组件表中的FK列上创建聚簇索引?在下面的示例中,我想要ItemDetailFk列上的聚簇索引.谢谢!

public class ItemDetailMap : IAutoMappingOverride<ItemDetail>
{
    public void Override(AutoMapping<ItemDetail> mapping)
    {
        mapping.HasMany<ItemDetailUDF>(x => x.UserDefinedFields)
            .Table("ItemUDF")
            .KeyColumn("ItemDetailFk")
            .Not.LazyLoad()
            .Fetch.Subselect()
            .Component(udfObj =>
            {
                udfObj.Map(x => x.UDFSequence);
                udfObj.Map(x => x.String0);
                udfObj.Map(x => x.String1);
                udfObj.Map(x => x.String2);

            });
    }
}
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate

1
推荐指数
1
解决办法
1354
查看次数