问题描述
使用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 (将#修改为@)