功能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();
}
答
AFAIK SchemaUpdate不会触及现有的列,因为它不会处理边缘情况,例如如果该列已包含空值,会发生什么情况?
您的选择:
- 添加NOTNULL约束手动
- 重新使用的SchemaExport
+0
感谢你的理解。很长时间以来我一直在摸索着解决这个问题。如果它发表评论说它需要手动完成或立即炸毁,这将会非常有帮助。 –
架构'SchemaUpdate'静静地失败,可以请你的日志附加到你的问题? 或者在'.Exceptions'中寻找可能有的东西... – MichaC