创建表后,NHibernate流利唯一键

问题描述

使用Nibernate和Fluent映射。

如果已经创建了以下映射,然后您决定在2列上放置一个唯一键,我注意到在不删除表的情况下NHibernate不会更新表架构。有没有一种方法可以更新方案,而不必重新创建表?

public class SiteMapping : IAutoMappingOverride<Clarati.Model.Site>
{
    public void Override(AutoMapping<Clarati.Model.Site> mapping)
    {
        mapping.Id(x => x.Id).GeneratedBy.Identity();
        mapping.References(x => x.Customer).Not.Nullable().UniqueKey("UQ_CustSite");
        mapping.Map(x => x.Name).Length(512).Not.Nullable().UniqueKey("UQ_CustSite");
        mapping.Map(x => x.Latitude).Nullable();
        mapping.Map(x => x.Longitude).Nullable();
    }
}

我有一个基于租户的结构,因此必须为每个租户重新创建并在所有表上添加此唯一键,以为可能已经存在一种更新映射或告诉NHibernate更新架构的方法。

我可以毫无问题地添加和更新列,并且可以看到字段在数据库中进行了更新,但是似乎无法以与字段更新相同的方式来更新/创建新的唯一键。

有什么想法吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...