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();
}
AFAIK SchemaUpdate 不会触及现有列,因为它不会处理边缘情况,例如,如果列已经包含空值会发生什么?
您的选择:
- 手动添加 notnull 约束
- 使用架构导出重新创建架构