2012-05-04 64 views
1

我视图宽度列: ID, TREE_NODE_ID, ATTRIB_ID, INT_VALUE, DATE_VALUE, STRING_VALUE,的nhibernate映射错误

和表: ID, PARENT_ID, TREE_ID,

public interface ITreeNode 
    { 
     long Id { get; set; } 
     ITreeNode Parent { get; set; } 
// I want to get: 
     IDictionary<IAttribute, IAllTreeNodeValues> SpecTreeNodeValues { get; set; } 
    } 

public interface IAllTreeNodeValues 
    { 
     long Id { get; set; } 
     ITreeNode TreeNode { get; set; } 
     IAttribute Attribute { get; set; } 
     long? IntValue { get; set; } 
     DateTime DateValue { get; set; } 
     string StringValue { get; set; } 
    } 

fragment of mapping file: 
    <map name="SpecTreeNodeValues" lazy="true"> 
     <key column="TREE_NODE_ID"/> 
     <index-many-to-many column="ATTRIB_ID" class="Attribute"/> 
     <many-to-many class="AllTreeNodeValues"/> 
    </map> 

出现错误:来自表SpecTreeNodeValues的关联指向未映射的类:GeneralData.Entity.Atribute

+2

类GeneralData.Entity.Atribute的检查名字,也许你的意思'GeneralData.Entity.Attribute'。如果问题不在类名中,请更新问题。类'Atribute'未映射 – Kronos

+0

映射时:我从表SpecTreeNodeValues获取SQl查询,但它必须从表ALL_TREE_NODE_VALUES获取数据,如何在设置 Alex

+0

=“SpecTreeNodeValues”lazy =“true”table =“ALL_TREE_NODE_VALUES”>出错:外键(FK49254D5DDFC2DD97:ALL_TREE_NODE_VALUES [elt]))必须与引用的主键具有相同的列数(ALL_TREE_NODE_VALUES [TREE_NODE_ID,ATTRIB_ID]) – Alex

回答

0

你拼错属性在这里:

<index-many-to-many column="ATTRIB_ID" class="Atribute"/>