2

Я использую авто собственности с частным набором, и fluentNhibernate выдаст ошибку для меня ...FluentNhibernate + частный набор

FluentNHibernate.Cfg.FluentConfigurationException: недействительный или неполной конфигурации был использован при создании SessionFactory , Для получения более подробной информации просмотрите коллекцию PotentialReasons и InnerException. * База данных не была настроена с помощью метода базы данных.

Это мой класс:

public class MyClass 
{ 
    public virtual int Id { get; set; } 
    public virtual string PropOne { get; private set; } 
} 

Это моя карта:

public class MyClassMap : ClassMap<MyClass> 
{ 
    public MyClassMap() 
    { 
     Id(x => x.Id); 
     Map(x => x.PropOne); 
    } 
} 

Если я изменю свое СВОЙСТВ на:

public virtual string PropOne { get; protected set; }, 

ФН работать нормально.

Но я читаю эту тему: https://github.com/jagregory/fluent-nhibernate/wiki/Fluent-mapping «Access Strategies», и я делаю именно эту тему. Где я не прав?

я положил пример в GitHub: https://github.com/wbaldanw/NhAccessStrategies

Ниже, код BuildSession

Configuration = new Configuration().Configure(); 
     var fluentConfiguration = Fluently.Configure(Configuration) 
      .Mappings(x => x.FluentMappings.AddFromAssemblyOf<MyClassMap>()); 
     try 
     { 
      NHSession = fluentConfiguration.BuildSessionFactory(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.ToString()); 
     } 

ответ

0

Я поставил вопрос о проекте FluentNhibernate и правильно это использовать частный набор с полями. Если использование права autoproperties - использование не закрытого сеттера.

Эта работа отлично:

private string name; 

public string Name 
{ 
    get { return name; } 
} 
0

Это может быть ошибка в FluentNH метания заблуждение исключение, но это исключение не связано с самим отображением , а скорее для создания SessionFactory. Покажите нам код, пожалуйста, убедитесь, что вы устанавливаете драйвер DB & его конфигурация с помощью .Database(..) вызова

+0

Здравствуйте, @migajek, я приведу пример здесь: github.com/wbaldanw/NhAccessStrategies –

0

В соответствии с этим question and answer не представляется, что эта стратегия доступа больше не поддерживается в NHibernate от V 3,3.. Документы, на которые вы ссылаетесь, также заблудились. Вероятно, они должны быть обновлены, чтобы отметить, что этот сценарий не поддерживается после NHibernate 3.2.

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