我正在尝试使用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 ?
}
}
答案 0 :(得分:1)
这不是你要求的,但我只想指出FNH Automapping将完全没有程序员的帮助来映射你的类 - 即你不需要额外的Mapping类。
您只需要将该成员声明为IList,而不是List。 (实际上,我认为你也必须使用IList进行常规的FNH映射。)
还有一点 - 自动化值类型(例如字符串和整数)存在一个错误,最近修复了这个错误,因此如果您决定使用自动映射路径(我高度重视),请确保使用最新的FNH版本推荐,BTW!)。
答案 1 :(得分:0)
我找到了解决问题的方法,在我的情况下,我必须为MyStrings创建一个单独的表,并与MyClass建立一个foriegn密钥关系。
感谢您的建议! :)