Нет автоматического создания и создания схемы с Fluent NHibernate: я не могу понять, что не так - PullRequest
0 голосов
/ 18 января 2011

Я не могу понять, почему не работают автоматическое копирование Fluent NHibernate и генерация схем.

У меня есть этот код:

    return Fluently
    .Configure()
    .Database
    (
        MsSqlConfiguration.MsSql2005.ConnectionString
        (
            c => c.FromConnectionStringWithKey("dataAccess")
        )
    )
    .Mappings(config => config.AutoMappings.Add(AutoMap.Assembly(ObjectsAssembly, new ORMAutoMappingConfiguration())))
    .ExposeConfiguration(config => new SchemaExport(config).Create(true, true))
    .BuildSessionFactory()
    .OpenSession();

И:

public sealed class ORMAutoMappingConfiguration : DefaultAutomappingConfiguration
{
    public override bool ShouldMap(Member member)
    {
        return member.DeclaringType.IsSubclassOf(typeof(DomainObject));
    }
}

База данных и сопоставления не созданы.

"ObjectsAssembly" - это объект, полученный в свойстве, я наблюдал за ним, и я мог определить, что это правильная сборка, и она имеет доменные объекты, наследующие DomainObject.

Еще одна вещь - это автоматическое сопоставлениеКласс конфигурации никогда не требуется в этом процессе, FNH не должен вызывать IfMap.

Что не так?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 января 2011

К сожалению, это было очень легко решить проблему!Я переопределял ShouldMap (Member) вместо перегрузки ShouldMap (Type).

Это любой тип, который должен был отображаться, что неправильно, потому что не все они были объектами домена.

I 'Моя модель домена и база данных работают!

В любом случае, спасибо.

0 голосов
/ 18 января 2011

Не могу сказать, что не так с вашими автоматическими значениями, но для использования генерации схемы вам нужно

var schema = new SchemaExport(configuration);
schema.Create(true, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...