2011-07-07 5 views
3

Я получаю исключение «Нет persister для: MVCTemplate.Common.Entities.User». Я Google эту проблему и применяю все решение, которое я нашел. но для меня все бесполезно. Кто-нибудь знает, что я делаю неправильно?нет persister для: Fluent nHibernate Exception

мой код пользователя Класс

public class User 
{ 
    public virtual Guid UserID { get; private set; } 
    public virtual string UserName { get; set; } 
    public virtual string Password { get; set; } 
    public virtual string FullName { get; set; } 
    public virtual string Email { get; set; } 
    public virtual TimeSpan LastLogin { get; set; } 
    public virtual bool IsActive { get; set; } 
    public virtual DateTime CreationDate { get; set; } 
    public virtual IList<UserInRole> UserInRoles { get; set; } 
} 

Mapping Пользователь:

public class UserMap : ClassMap<User> 
{ 
    public UserMap() 
    { 
     Table("tblUsers"); 
     Id(user => user.UserID).GeneratedBy.GuidComb(); 
     Map(user => user.UserName).Not.Nullable(); 
     Map(user => user.Password).Not.Nullable(); 
     Map(user => user.FullName).Not.Nullable(); 
     Map(user => user.Email).Not.Nullable(); 
     Map(user => user.LastLogin).Not.Nullable(); 
     Map(user => user.IsActive).Nullable(); 
     Map(user => user.CreationDate).Not.Nullable(); 
     HasMany(user => user.UserInRoles); 
    } 
} 

Конфигурация FNH:

return Fluently.Configure() 
      .Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008 
      .ConnectionString(c => c.FromConnectionStringWithKey("FNHConnection")) 
      ) 
      .Mappings(m => 
       m.FluentMappings.AddFromAssemblyOf<User>()) 
      .BuildSessionFactory(); 

Благодаря

+0

Вы написали отображение для пользователя «»? – Phill

+0

yeh Я только что добавил код сопоставления – Saad

+0

Как вы добавляете свое сопоставление в конфигурацию NH? Является ли сборка с сопоставлениями в каталоге bin приложения, из которого вы пытаетесь его запустить? Исключением является вопрос, когда сеанс не имеет информации об объекте, который вы пытаетесь сохранить. – Phill

ответ

8

Дважды проверьте, что ваш класс отображение общественности.

Убедитесь, что у вас есть что-то подобное в вашей беглой конфигурации ....

.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>()) 
+0

Использовалась недопустимая или неполная конфигурация при создании SessionFactory. Для получения более подробной информации просмотрите коллекцию PotentialReasons и InnerException. Получение этого исключения после применения ddFromAssemblyOf Saad

+0

Итак, это шаг вперед. Вы исправили проблему с булевым нулевым значением? – UpTheCreek

+0

yeah .. но gt новое исключение "{" (XmlDocument) (3,6): Ошибка проверки XML: элемент 'composite-id' в пространстве имен 'urn: nhibernate-mapping-2.2' имеет неполное содержимое. Список ожидаемых элементов: «meta, key-property, key-many-to-one» в пространстве имен «urn: nhibernate-mapping-2.2». »« – Saad

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