Свободный NHibernate - ошибка сопоставления, проверка XML, неверная / неполная конфигурация - PullRequest
2 голосов
/ 14 августа 2011

Я довольно новичок в 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 независимо () также не имеет никакого эффекта.

Есть идеи, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...