我的数据库中有3个表,这些是类:
var merged = {};
Object.assign(merged, result, resultresult);
所以,关系是: Prat - > Prat_Ric(Prat.Id = Prat_Ric.IdPrat) - > Anagrafi(Anagrafi.Id = Prat_Ric.IdAnag)
这些是目的地类:
public class PRAT
{
public PRAT()
{
PRAT_RIC = new HashSet<PRAT_RIC>();
}
public int ID { get; set; }
public string PRATICA { get; set; }
public int ANNO { get; set; }
public string VARIANTE { get; set; }
[...] other fields
}
public class PRAT_RIC
{
public int ID { get; set; }
public int IDPRAT { get; set; }
public int IDANAG { get; set; }
public int? IDTITRIC { get; set; }
public virtual ANAGRAFI IDANAGNavigation { get; set; }
}
public class ANAGRAFI
{
public int ID { get; set; }
public string TIPO { get; set; }
public string TITOLO { get; set; }
public string COGNOME { get; set; }
public string NOME { get; set; }
public string CODFISC { get; set; }
}
我用
创建了地图public class PraticaResource
{
public int ID { get; set; }
public string PRATICA { get; set; }
public int ANNO { get; set; }
public string VARIANTE { get; set; }
public ICollection<RichiedentiResource> RICHIEDENTI { get; set; }
}
public class RichiedentiResource
{
public int ID { get; set; }
public int IDANAG { get; set; }
public string TITOLO { get; set; }
public string COGNOME { get; set; }
public string NOME { get; set; }
public string CODFISC { get; set; }
public string TITRIC { get; set; }
}
是否可以将RichiedentiResource的所有属性映射到具有相同名称的ANAGRAFI字段,以便我无法编写每个字段映射?
谢谢。
答案 0 :(得分:0)
如果您不需要导航类中的任何内容,那么您可以在顶层映射时跳过它:
CreateMap<PRAT, PraticaResource>()
.ForMember(p => p.PRAT_RIC, opt => opt.MapFrom(src => src.PRAT_RIC.Select(x => x.IDANAGNavigation))
然后你只需要ANAGRAFI
- &gt;的映射。 RichiedentiResource
,它应自动计算字段映射。