私はAsp.Net Web APIを使用してPOCを作成しています。あるオブジェクトタイプを別のオブジェクトタイプにマッピングするために、私はAutoMapper(v5.1.1)を使用しています。ここでマッピングするために使用されているタイプです。AutoMapperConfigurationException:プロパティ名を表示せずに例外をスローするAutoMapper
//Entity
public class Goal : IVersionedEntity
{
public virtual int GoalId { get; set; }
public virtual string Title { get; set; }
public virtual string Description { get; set; }
public virtual DateTime StartDate { get; set; }
public virtual DateTime EndDate { get; set; }
public virtual string Reward { get; set; }
public virtual DateTime? DisabledDate { get; set; }
public virtual byte[] Version { get; set; }
public virtual User User { get; set; }
public virtual ICollection<Schedule> Schedules { get; set; }
}
//Model
public class Goal
{
private List<Link> _links;
public int GoalId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
//public Status Status { get; set; }
public string Reward { get; set; }
public DateTime? DisabledDate { get; set; }
public User User { get; set; }
public ICollection<Schedule> Schedules { get; set; }
public List<Link> Links
{
get { return _links ?? (_links = new List<Link>()); }
set { _links = value; }
}
public void AddLink(Link link)
{
_links.Add(link);
}
}
私は次のように目標のモデルタイプのオブジェクトにゴールエンティティをマッピングしています:
public async System.Threading.Tasks.Task Configure()
{
Mapper.Initialize(cfg => cfg.CreateMap<Data.Entities.Goal, Models.Goal>()
.ForMember(m => m.Links, i => i.Ignore()));
}
、ここでは「AutoMapperConfigurator」クラス「はApp_Start」であります:
public void Configure(IEnumerable<IAutoMapperTypeConfigurator> autoMapperTypeConfigurations)
{
autoMapperTypeConfigurations.ToList().ForEach(m => m.Configure());
Mapper.AssertConfigurationIsValid();
}
しかし、それは、次の例外がスローされます。
TestApp.Web.Api.Models.Goalの次のプロパティは、 にマップすることはできません。カスタムマッピング式を追加するか、無視するか、カスタム リゾルバを追加するか、宛先タイプTestApp.Web.Api.Models.Goalを変更します。 コンテキスト:タイプTestApp.Data.Entities.Goalから へのマッピングTestApp.Web.Api.Models.Goalタイプ の例外 'AutoMapper.AutoMapperConfigurationException'がスローされました。
マップされていないプロパティは表示されません。 この発行についてのヘルプ。