如何在Fluent Nhibernate中为List <some native type>创建映射?</somenativetype>

时间:2010-03-24 09:01:11

标签: nhibernate list fluent-nhibernate mapping

我正在尝试使用Fluent NHibernate为以下模型创建映射文件。但是,我不确定如何在映射文件中对List<<string>string>进行映射。

    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 ?
        }
    }

2 个答案:

答案 0 :(得分:1)

这不是你要求的,但我只想指出FNH Automapping将完全没有程序员的帮助来映射你的类 - 即你不需要额外的Mapping类。

您只需要将该成员声明为IList,而不是List。 (实际上,我认为你也必须使用IList进行常规的FNH映射。)

还有一点 - 自动化值类型(例如字符串和整数)存在一个错误,最近修复了这个错误,因此如果您决定使用自动映射路径(我高度重视),请确保使用最新的FNH版本推荐,BTW!)。

答案 1 :(得分:0)

我找到了解决问题的方法,在我的情况下,我必须为MyStrings创建一个单独的表,并与MyClass建立一个foriegn密钥关系。

感谢您的建议! :)