Я пытаюсь сопоставить объект из моей структуры сущностей с объектом. Все работало нормально, пока мне не пришлось делать список объектов. Я получаю сообщение об ошибке, в котором говорится, что мне следует использовать mapcomplex вместо карты. К сожалению, я не могу найти do c для этой функции.
Полные классы:
using Cld.Domain.DataService.Contract.Filter;
using Cld.Domain.DataService.Contract.Model;
using Cld.Domain.DataService.Service.Model;
using Core.Data;
using System.Collections.Generic;
using System.Linq;
namespace Cld.Domain.DataService.Service.Repositories
{
internal class ConditRepository : RepositoryBase<CONDIT, Condit, string>,
ISearchableRepository<CONDIT, Condit, ConditFilter>
{
public static readonly IMapping<CONDIT, Condit> ConditMap = new Mapping<CONDIT, Condit>()
.Maps(entity => entity.ID, contract => contract.Id)
.Maps(entity => entity.LIBELLE_D, contract => contract.LabelD)
.Maps(entity => entity.LIBELLE_E, contract => contract.LabelE)
.Maps(entity => entity.LIBELLE_F, contract => contract.LabelF)
.Maps(entity => entity.LIBELLE_N, contract => contract.LabelN)
.Maps(entity => entity.TRACKURL, contract => contract.TrackUrl)
.Maps(entity => entity.CODE, contract => contract.Code)
.Maps(entity => entity.CUSTID, contract => contract.Custid)
.Maps(entity => entity.NUMERO, contract => contract.Number)
.Maps(entity => entity.SCAC, contract => contract.Scac)
.Maps(entity => entity.SERVIID, contract => contract.ServiId)
.Maps(entity => entity.SHIPORDER, contract => contract.ShipOrder)
.Maps(entity => entity.REQTIME, contract => contract.RequestedDateTime)
.Maps(entity => entity.OutputPath, contract => contract.OutputPath)
.Maps(entity => entity.PACTYPs.Select(x => x.ID).ToList(), contract => contract.listPacktypes)
;
}
}
затем класс из EF:
namespace Cld.Domain.DataService.Service.Model
{
using System;
using System.Collections.Generic;
public partial class CONDIT
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public CONDIT()
{
this.SHIPMENTs = new HashSet<SHIPMENT>();
this.PACTYPs = new HashSet<PACTYP>();
}
public string LIBELLE_F { get; set; }
public string LIBELLE_N { get; set; }
public short NUMERO { get; set; }
public string ID { get; set; }
public string LIBELLE_E { get; set; }
public string LIBELLE_D { get; set; }
public string CUSTID { get; set; }
public string SERVIID { get; set; }
public string SCAC { get; set; }
public string CODE { get; set; }
public string TRACKURL { get; set; }
public int SHIPORDER { get; set; }
public System.TimeSpan REQTIME { get; set; }
public string OutputPath { get; set; }
public byte[] timestamp_column { get; set; }
public bool Active { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<SHIPMENT> SHIPMENTs { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PACTYP> PACTYPs { get; set; }
}
}
И, наконец, контракт, в который я пытаюсь его уместить:
using Cld.Core.ContractFramework;
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace Cld.Domain.DataService.Contract.Model
{
[DataContract]
public class Condit : IEntity<string>
{
[DataMember]
public string Id { get; set; }
[DataMember]
public string LabelF { get; set; }
[DataMember]
public string LabelN { get; set; }
[DataMember]
public string LabelE { get; set; }
[DataMember]
public string LabelD { get; set; }
[DataMember]
public short Number { get; set; }
[DataMember]
public byte[] Timestamp { get; set; }
[DataMember]
public string Custid { get; set; }
[DataMember]
public string ServiId { get; set; }
[DataMember]
public string Scac { get; set; }
[DataMember]
public string Code { get; set; }
[DataMember]
public string TrackUrl { get; set; }
[DataMember]
public int ShipOrder { get; set; }
[DataMember]
public TimeSpan RequestedDateTime { get; set; }
[DataMember]
public string OutputPath { get; set; }
[DataMember]
public List<int> listPacktypes { get; set; }
}
}