FluentNHibernate, Как проверить / проверить базу данных? (SQL Server Express) - PullRequest
0 голосов
/ 27 января 2011

С SQL Server Express и FluentNHibernate:

Я сопоставляю классы, настраиваю SessionFactory и выполняю SchemaExport; Все работает. Но при запуске программы; Как вы проверяете / проверяете, что таблицы существуют? Есть ли какие-то функции в Fluent, чтобы помочь с этим?

Полагаю, было бы правильно иметь всплывающее окно с несоответствием, спрашивающее, хотите ли вы восстановить новую базу данных?

Кроме того, есть ли другие вещи, которые нужно проверить? (За исключением, очевидно, что база данных существует)

1 Ответ

2 голосов
/ 27 января 2011

Вы можете использовать этот код для проверки:

    SchemaValidator validator = new SchemaValidator(config);
    try
    {
        validator.Validate();
    }
    catch (HibernateException)
    {
        // not valid, try to update
        try
        {
            SchemaUpdate update = new SchemaUpdate(config);
            update.Execute(false, true);
        }
        catch (HibernateException e)
        {
            MessageBox.Show("invalid schema");
        }
    }
...