Fluent nhibernate Fluent NHibernate有许多源代码,其中源代码是逗号分隔的ID字符串

Fluent nhibernate Fluent NHibernate有许多源代码,其中源代码是逗号分隔的ID字符串,fluent-nhibernate,nhibernate-mapping,Fluent Nhibernate,Nhibernate Mapping,我在尝试做这种映射时,正试图将我的头绕在fluent 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> ClassALi

我在尝试做这种映射时,正试图将我的头绕在fluent 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; }
}
我正在尝试编写一些映射,这样ClassB对象将由ClassA实体填充到ClassList中。是否可能有类似于以下内容的内容:

public void Override(AutoMapping<ClassB> mapping)
{  
   mapping.HasMany(x => x.ClassAIds.Split(new char[] { ',' }).Select(i => int.Parse(i)).ToList()).KeyColumn("Id");
}
public void覆盖(自动映射)
{  
mapping.HasMany(x=>x.ClassAIds.Split(newchar[]{',})。选择(i=>int.Parse(i)).ToList()).KeyColumn(“Id”);
}

我真的不知道如何通过一个目标类类型,以及是否有可能实现这一点。

我认为你不能满足你的要求。我认为最好的办法是按照它在数据库中的显示来映射它,并在映射之外处理类列表集合的加载。我会将你的自动映射设置为忽略集合。从数据库的角度来看,这并不是处理关系的好方法

我假设这是一个遗留数据库?实际上这是一个新数据库,但我无法控制这些特定的表。是的,我已经在这样做了,因为它似乎没有任何其他方法。无论如何,谢谢你。
public void Override(AutoMapping<ClassB> mapping)
{  
   mapping.HasMany(x => x.ClassAIds.Split(new char[] { ',' }).Select(i => int.Parse(i)).ToList()).KeyColumn("Id");
}