我试图在尝试进行这种映射时试图将我的脑袋包裹在流畅的nHibernate中:
public class ClassA : Entity
{
public virtual string SomeField { get; set; }
}
public class ClassB : Entity
{
public virtual string ClassAIds { get; set; }
public virtual IList<ClassA> ClassAList { get; set; }
}
其中Entity基本上确保两个类都将Id字段作为其主数据库密钥。
数据库看起来像:
table ClassA:
int Id,
varchar(25) SomeField
table ClassB:
int Id,
varchar(50) ClassAIds
我正在尝试编写一些映射,以便将ClassB实体填充到ClassAList中。是否有可能有类似的东西:
public void Override(AutoMapping<ClassB> mapping)
{
mapping.HasMany(x => x.ClassAIds.Split(new char[] { ',' }).Select(i => int.Parse(i)).ToList()).KeyColumn("Id");
}
我真的不明白如何传递目标类类型,如果有可能实现这一点。
答案 0 :(得分:0)
我认为你不能做你所要求的。我认为你最好的选择是将它映射到数据库中,并处理映射之外的ClassAList集合的加载。我会设置你的自动化以忽略该集合。从数据库的角度来看,这并不是处理关系的好方法。