2010-03-24 80 views
0

我正在嘗試使用Fluent NHibernate爲以下模型創建映射文件。但是,我不確定如何在映射文件中爲列表< string>執行映射。如何在FluentNhibernate中爲列表<SomeNativeType>創建映射?

public class MyClass 
    { 
     public virtual Guid Id { get; set; } 
     public virtual string Name { get; set; } 
     public virtual List<string> MagicStrings { get; set; } 
    } 

    public class EnvironmentMapping : ClassMap<Models.Environment> 
    { 
     public EnvironmentMapping() 
     { 
      Id(x => x.Id); 
      Map(x => x.Name); 
      //HasMany(x => string) What should this be ? 
     } 
    } 

在這方面的幫助非常感謝。謝謝!

+3

MagicStrings是否存儲在同一個表中作爲分隔字符串或在一個單獨的表中? – 2010-03-24 13:56:31

+0

+1我從來沒有想過在哪裏/如何存儲表格方面,這個評論以及來自我的同事的一些幫助幫助我找到了解決方案,謝謝! – 2010-03-25 19:08:21

回答

0

我找到了我的問題的解決方案,在我的情況下,我必須爲MyStrings創建一個單獨的表並且與MyClass具有foriegn關鍵關係。

感謝您的建議! :)

1

這並不完全是你所要求的,但我只想指出FNH Automapping將映射你的類,絕對沒有程序員的進一步幫助 - 即你不需要額外的映射類。

您只需將該成員聲明爲IList而不是List。 (其實,我認爲你也必須使用IList來定期進行FNH測繪)。

還有一點 - 自動映射值類型(例如字符串和整數,最近已修復)存在一個錯誤,因此如果您決定使用Automapping路由,請確保使用最新的FNH構建強烈推薦,BTW!)。

+0

+1用於提示自動映射,但我只是想看看事情,以及它們是如何在引擎蓋下完成的,感謝您的建議:) – 2010-03-25 19:10:31