Fluent nHibernate SchemaUpdate 不起作用

本文关键字:不起作用 SchemaUpdate nHibernate Fluent | 更新日期: 2023-09-27 18:32:20

我首先使用Fluent nHibernate代码,我有Nullable列,然后更改为.Not.Nullable()但我的列仍然可为空

这是我的配置

 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();
        }

Fluent nHibernate SchemaUpdate 不起作用

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

您的选择:

  • 手动添加 notnull 约束
  • 使用架构导出重新创建架构