C# SchemaUpdate未更新数据库的架构

C# SchemaUpdate未更新数据库的架构,c#,hibernate,nhibernate,fluent,C#,Hibernate,Nhibernate,Fluent,我遇到的问题是,下面的代码运行,但由于某种原因,它不再更新数据库中的模式。其他一切都可以工作,我可以加载和保存实体,但每次我向其中一个实体添加新属性时,它都不会添加到数据库中。我已经确保我也将属性添加到了类映射中,我遗漏了什么?(连接字符串已被审查;)) 好的,我已经解决了 我有一个列需要包含很长的文本(CLOB),出于某种原因,当我在类映射中指定它不起作用时,我在DB中手动更改了它 这就是nhibernate的疯狂之处,所以我又换回了nhibernate选择的类型,一切又开始运转了 解决方案:

我遇到的问题是,下面的代码运行,但由于某种原因,它不再更新数据库中的模式。其他一切都可以工作,我可以加载和保存实体,但每次我向其中一个实体添加新属性时,它都不会添加到数据库中。我已经确保我也将属性添加到了类映射中,我遗漏了什么?(连接字符串已被审查;))


好的,我已经解决了

我有一个列需要包含很长的文本(CLOB),出于某种原因,当我在类映射中指定它不起作用时,我在DB中手动更改了它

这就是nhibernate的疯狂之处,所以我又换回了nhibernate选择的类型,一切又开始运转了


解决方案:未经nhibernate;的out权限,请勿更改列中的数据类型

我知道这不是一个答案,但我们停止在我的公司使用SchemaUpdate,因为我们认为它不够可靠。你检查过数据库权限吗?您看到脚本
SchemaUpdate
生成的代码了吗?您能使用与连接字符串中完全相同的用户名手动运行它吗?是的,除了这个问题,我对DB没有任何问题。奇怪的是,它在最初的几次运行中创建了DB,因此它添加了一些列,但它不再这样做。
private static ISessionFactory CreateSessionFactory()
        {
            return Fluently.Configure()
                .Database(
                    MySQLConfiguration.Standard.ConnectionString(cs =>
                        cs
                        .Database("qwerty")
                        .Server("qwert")
                        .Password("qwerty")
                        .Username("qwerty")))
                .Mappings(m => 
                    m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
                .ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(true,true))
                .BuildSessionFactory();
        }