首先,阅读源代码里面的TODOs
Position属性(property)被加在所有属性(attributes)上,用来给他们排序。但是仍然有问题:
当一个父元素"p"有一个子元素"x",它的另一个子元素"c"有子元素"x"。:D 如图
<p>
<c>
<x />
</c>
<x />
</p>
在这个例子中,如果这样写:
[Attributes.P(0)]
[Attributes.C(1)]
[Attributes.X(2)]
[Attributes.X(3)]
public MyType MyProperty;
X(3)将会属于C(1)!(和X(2)一样)
下面是<dynamic-component>和<nested-composite-element>的情况。
另一个坏消息是,现在,后来加入的XML元素不能被包含.例如:没有办法在<dynamic-component>放置集合.原因是nhibernate-mapping-2.0.xsd文件告诉程序元素怎么被创建,按照什么顺序被创建,并且NHibernate.Mapping.Attributes按这个顺序使用它们.
总之,解决方案应该添加整型的ParentNode属性(property)给BaseAttribute,这样你能够创建一个真实的情况...
实际上,没有其他的知识点了而且也没有计划好的修改.这个库将会成为稳定的完整版本;但是你发现了问题或者有有效的改进想法,请联系我们!
另一个消息,希望有比NHibernate.Mapping.Attributes.Test更好的TestFixture.:D
顶部