Я довольно новичок в NH и FNH. Я хочу отобразить список длинных, и я получаю сообщение об ошибке:
При создании SessionFactory использовалась неверная или неполная конфигурация.
Двойное внутреннее исключение:
{"(XmlDocument) (15,8): ошибка проверки XML: элемент 'list' в пространстве имен 'urn: nhibernate-mapping-2.2' имеет недопустимый дочерний элемент 'one-to-many' в пространстве имен 'urn: nhibernate-mapping-2.2 '. Список возможных ожидаемых элементов:' loader, sql-insert, sql-update, sql-delete, sql-delete-all, filter 'в пространстве имен' urn: nhibernate-mapping-2.2 '. "}
Моя сущность:
public class XPTable
{
public virtual int I3D { get; set; }
public virtual IList<long> XPRequired { get; set; }
public XPTable()
{
XPRequired = new List<long>();
}
}
Мое сопоставление:
public class XPTableMaps : ClassMap<XPTable>
{
public XPTableMaps()
{
Table("XPTable");
Id(id => id.I3D);
//this line causes the error
HasMany<long>(many => many.XPRequired).AsList().Element("XPRequired");
}
}
Я использую NHibernate 3.1.0, FNH 1.0
Проблема определенно связана с отображением HasMany, потому что, когда я его комментирую, программа работает просто отлично. Столбец I3D в таблице SQL 2008 является идентификатором, имена / типы таблицы и столбцы соответствуют отображению. Если я опущу .AsList (), то сообщение об ошибке останется таким же, за исключением того, что оно ссылается на «bag» вместо «list». Добавление Inverse () и / или Cascade.Wh независимо () также не имеет никакого эффекта.
Есть идеи, пожалуйста?