1
我正在使用新應用程序中的代碼映射,並看到常規模型映射器的一些奇怪行爲。它選擇我所有的1..N關係中的一個作爲一個Bag,一個作爲一個Set。據我所知,他們都是基本上以相同的方式宣佈。如果我沒有爲BeforeMapSet設置一個事件處理程序,那麼適當的BeforeMapManyToOne處理程序永遠不會被觸發。ConventionModelMapper如何確定集合/包關係
我正在使用新應用程序中的代碼映射,並看到常規模型映射器的一些奇怪行爲。它選擇我所有的1..N關係中的一個作爲一個Bag,一個作爲一個Set。據我所知,他們都是基本上以相同的方式宣佈。如果我沒有爲BeforeMapSet設置一個事件處理程序,那麼適當的BeforeMapManyToOne處理程序永遠不會被觸發。ConventionModelMapper如何確定集合/包關係
的XML
映射在這種方式更加明確,通常映射的IList <>到<bag>
和ISet
到<set>
。有一種解釋,流利引擎(1.2版本)如何試圖做同樣的:
https://github.com/jagregory/fluent-nhibernate/wiki/Fluent-mapping
(見的hasMany /一個一對多/收集類型)
的從上面的鏈接提取:
public IList<Child> Children { get; set; }
HasMany(x => x.Children); // <bag />
private ISet<Child> _children;
public IEnumerable<Child> Children
{
get { return _children; }
}
HasMany(x => x.Children); // <set access="nosetter.camelcase-underscore" />
private ISet<Child> _children;
public IEnumerable<Child> GetChildren()
{
return _children;
}
HasMany(x => x.GetChildren()); // <set name="_children" access="field" />
所以我猜,你的「小differencies」中映射可以有
隱藏