У меня есть объект страницы со свойствами Ключевое слово и ключевые слова.объект сопоставления не может быть выполнен, потому что он не может найти propety
Keyword
недвижимость магазин одна строка, как string Keyword = "my awesome page, page";
Ключевое слово будет хранить эту информацию внутри базы данных.
Ключевые слова, с другой стороны, извлекают это ключевое слово и разделяют запятыми.
так что у меня внутри моей модели
public Page : Entity<int>
{
public virtual string Keyword {get; set;}
public virtual IList<string> Keywords
{
get { return Keyword.Split(','); }
set { Keyword = string.Join(",", value); }
}
public Page() { Keywords = new List<string>(); }
}
поэтому я попытался отобразить эту сущность с конформистскому отображения кодом
public class PageMap : ClassMapping<Page>
{
public PageMap()
{
Property(x => x.Keyword);
Property(x => x.Keywords, m =>
{
m.Access(Accessor.Field);
});
}
}
, но я получаю expcetion как
NHibernate .MappingException: не удалось скомпилировать документ сопоставления: mapping_by_code ----> NHibernate.MappingException Проблема пытается установить тип собственности путем отражения NHibernate.PropertyNotFoundException: Не удалось найти свойство, ни поля «Ключевые слова» в классе «Model.Page»
Даже я понимаю, сообщение, что собственность не может быть найдена, я не понять почему? и как преодолеть это.
спасибо
Если я правильно понял, вы определяете доступ к свойству Keywords по полю, но у вас нет поля, определенного для свойства Keywords. NHibernate ищет поле с именем _keywords более чем вероятно. – jvanrhyn