【发布时间】:2010-07-13 19:01:05
【问题描述】:
好的,我很难使用流利的 nhibernate 自动映射集合。这次我尝试应用一个集合约定,它只是说使用带有下划线的 camelCaseField。好吧,我加载了约定,我在 FNH 下面的方法中打断点仍然会产生奇怪的映射。我做错了什么?
public class Parent
{
public virtual int Id { get; set; }
private IList<Child> _testCollection;
public virtual IList<Child> TestCollection
{
get
{
return _testCollection;
}
}
}
public class Child
{
public virtual int Id { get; set; }
}
public class CollectionAccessConvention : ICollectionConvention
{
public void Apply( ICollectionInstance instance )
{
instance.Access.CamelCaseField( CamelCasePrefix.Underscore );
}
}
<class xmlns="urn:nhibernate-mapping-2.2" mutable="true" name="Test.Parent, Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" table="`Parent`">
<id name="Id" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="Id" />
<generator class="identity" />
</id>
<bag access="nosetter.camelcase" name="TestCollection" mutable="true">
<key>
<column name="Parent_id" />
</key>
<one-to-many class="Test.Child, Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
编辑:@Bary:奇怪的是 access="nosetter.camelcase"。我认为应该是 access="field.camelcase-underscore"。有什么建议吗?
【问题讨论】: