2009-02-13 73 views
7

進出口使用的AutoPersistenceModel在功能NHibernate我的所有實體映射許多公約,一切工作正常:d流利的NHibernate多爲類型

然而,我的幾個對象都

public virtual IList<Comment> Comments { get; set; } 

在數據庫有一個註釋表,每個實體都有上面的代碼,它有自己的註釋鏈接表。

目前什麼IM做的是:

public class ContractMappingOverride : IAutoMappingOverride<Contract> 
{ 
    public void Override(AutoMap<Contract> mapping) 
    { 
     mapping.HasManyToMany(x => x.Comments) 
      .WithTableName("Comment_Contract"); 

每一個實體。

有沒有什麼辦法可以設置一個會議,通過IList的所有映射<評論>與上述表名約定自動連接起來很多很多?

感謝

安德魯

回答

5

我知道這不是你想聽到什麼,但答案是否定的。

在當前的流利NHibernate設計中,沒有辦法將約定應用到集合中,同時知道它們的使用類型,您可以將所有集合應用到不依賴於它們所包含的類型的東西。這是我們設計中的一個缺陷,我打算糾正這個問題,但這是一個相當大的變化,所以不會在一夜之間發生。

我建議你用我們的mailing list檢查,我們通常會在那裏發佈更新。

對不起,我不能提供更多的幫助。

+1

夠公平的,謝謝你的信息。我會查看源代碼,看看我是否可以將補丁放在一起'因爲我真的很喜歡這個功能。 – 2009-02-15 11:48:10

+0

我對這個問題增加了一個答案James,如果我的假設是正確的或如果我脫離了基礎,那麼如果你可以添加評論,那將是非常好的。 – 2009-12-16 21:06:35

0

自從我和Fluent NHibernate一起工作已經有一段時間了,我剛剛回到了它的擺動中(哇!自09年初以來有很多變化!),我想現在你的問題的答案是是的,你可以用OverideAll功能來做到這一點。

在FNH wiki上查看Overrides