2013-09-23 5 views
0

I`m с помощью Fluent NHibernate кода первого, я Nullable колонки, а затем изменен на .Not.Nullable() но моя колонка еще NullableFluent 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(); 
     } 
+0

'SchemaUpdate' не может тихо, пожалуйста, вы можете добавить журнал на свой вопрос? Или посмотрите в '.Exceptions' может быть что-то ... – MichaC

ответ

2

AFAIK SchemaUpdate не будет касаться существующих столбцов, поскольку он не будет обрабатывать граничные случаи, например что произойдет, если столбец уже содержит нулевые значения?

Ваши варианты:

  • добавить NotNull ограничение вручную
  • воссоздать схему, используя SchemaExport
+0

Спасибо за это, имеет смысл. Я долго царапал себе голову, пытаясь понять это. Было бы очень полезно, если бы он добавил комментарий, говоря, что это нужно сделать вручную или сразу же взорваться. –

Смежные вопросы