Можно ли использовать как автоматическое сопоставление, так и генерацию схемы с помощью Fluent NHibernate?

StackOverflow https://stackoverflow.com/questions/1501821

Вопрос

Я использую следующее:

Fluently.Configure()
        .Database(MsSqlConfiguration.MsSql2005.ConnectionString(connectionString))
        .Mappings(m => m.AutoMappings.Add(AutoMap.AssemblyOf<Incident>()
        .Where(t => t.Namespace.StartsWith("EDA.DomainModel.POCO"))))
        .ExposeConfiguration(BuildSchema)
        .BuildSessionFactory();

По сути, это копия того, что находится в вики Fluent NHibernate.Однако всякий раз, когда я запускаю эту строку, она выдает это InnerException:

"The type or method has 2 generic parameter(s), but 1 generic argument(s) were provided. A generic argument must be provided for each generic parameter."

Я действительно не уверен, в чем проблема, поэтому мне интересно, может ли Fluent NHibernate вообще выполнять автоматическое сопоставление вместе с генерацией схемы.Что я хочу сделать, так это просто создать уровень персистентности для POCO без необходимости видеть базу данных или возиться с какими-либо таблицами.

Это было полезно?

Решение

Да, это возможно.Я использую автоматическое сопоставление и экспортирую схему.Что касается этого исключения, я получил его, когда попытался сопоставить IDictionary<,>.Вы его используете?Работает ли Fluent NHibernate вообще, даже если вы не пытаетесь экспортировать схему?Я бы сказал, что это проблема с вашими сопоставлениями, а не с экспортом схемы.Если у вас есть IDictionary, то это почти наверняка.Попробуйте свести свою схему к тривиальным классам и посмотрите, поможет ли это;попробуйте создать схему базы данных вручную (для тривиальных классов это просто) и потом проверьте, работает ли она.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top