功能NHibernate SchemaUpdate工具不能正常工作

问题描述:

我真的,我已经空列,则改为.Not.Nullable() 但我列仍然是可空功能NHibernate SchemaUpdate工具不能正常工作

这里是我的配置

public override void Load() 
     { 
      Bind<ISessionFactory>().ToMethod(x => 
      { 
       var factory = Fluently.Configure() 
        .Database(MsSqlConfiguration.MsSql2008.ConnectionString 
         (c => c.FromConnectionStringWithKey("DefaultConnection"))) 
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Users>() 
         .Conventions.Add(PrimaryKey.Name.Is(p => "Id"), ForeignKey.EndsWith("Id")) 
         .Conventions.Setup(c => c.Add(AutoImport.Never()))) 
        .ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(true, true)); 

       return factory.BuildSessionFactory(); 
      }).InSingletonScope(); 
     } 
+0

架构'SchemaUpdate'静静地失败,可以请你的日志附加到你的问题? 或者在'.Ex​​ceptions'中寻找可能有的东西... – MichaC

AFAIK SchemaUpdate不会触及现有的列,因为它不会处理边缘情况,例如如果该列已包含空值,会发生什么情况?

您的选择:

  • 添加NOTNULL约束手动
  • 重新使用的SchemaExport
+0

感谢你的理解。很长时间以来我一直在摸索着解决这个问题。如果它发表评论说它需要手动完成或立即炸毁,这将会非常有帮助。 –