SchemaUpdate不更新数据库的模式

时间:2011-08-01 13:48:31

标签: c# hibernate nhibernate fluent

我遇到的问题是下面的代码运行但由于某种原因它不再更新数据库中的模式。其他所有工作,我可以加载和保存实体,但每次我向其中一个实体添加新属性时,它不会被添加到数据库中。我已经确保将属性添加到classMap中,我错过了什么? (connectionstring被删除;))

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

1 个答案:

答案 0 :(得分:3)

好吧,我已经解决了。

我有一个列需要包含一个很长的文本(CLOB),并且由于某些原因我在classMap中指定它不起作用,所以我在DB中手动更改了它。

这就是让nhibernate吓坏了的原因,所以我改回了nhibernate所选择的那种类型,所有东西都盯着再次工作!

解决方案:不要使用nhibernate的权限更改列中的数据类型;)