流畅的NHibernate - 映射错误,XML验证,无效/不完整配置

时间:2011-08-14 07:43:52

标签: fluent-nhibernate

我对NH和FNH很新。我想映射一个longs列表,我收到错误:

  

创建SessionFactory时使用了无效或不完整的配置。

双重内在异常:

  

{“(XmlDocument)(15,8):XML验证错误:命名空间'urn:nhibernate-mapping-2.2'中的元素'list'在命名空间'urn中具有无效的子元素'one-to-many': nhibernate-mapping-2.2'。期望的可能元素列表:'命名空间'urn:'nhibernate-mapping-2.2'中的'loader,sql-insert,sql-update,sql-delete,sql-delete-all,filter'。“}

我的实体:

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映射,因为当我发表评论时,程序运行得很好。 SQL 2008表中的I3D列是标识,表的名称/类型以及列与映射匹配。如果我省略.AsList(),那么错误消息保持不变,除了它引用'bag'而不是'list'。添加Inverse()和/或Cascade.Whatever()也没有效果。

有什么想法吗?

0 个答案:

没有答案