私は次の場合のマッピング設定を書き込もうとしています。マップするAutomapper 6のソースよりプロパティの少ない宛先へのマッピング方法は?
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public string ImagePath { get; set; }
public virtual ICollection<Service> Services { get; set; }
public int? SubcategoryId { get; set; }
[ForeignKey("SubcategoryId")]
public virtual Category Subcategory { get; set; }
}
そしてDTO:
public class CategoryDto
{
public int Id { get; set; }
public string Name { get; set; }
public string ImagePath { get; set; }
}
問題があり、ターゲットクラスは元より、以下の性質を持っている私は、ドメインオブジェクトを持っています。シンプルマップを使用すると、例外が発生します。
Mapper.Initialize(n => n.CreateMap<Service, ServiceDto>());
ソース1、クラスではないターゲットに適用されますので、私は、Ignore()
を使用することはできません。方法ForSourceMember()
も何らかの理由で助けになりませんでした。私はthisの質問を読んでいますが、ほとんどの場合問題ありませんが、Services
はnull
ではありません。それはCount = 0
です。私も右からいくつかの同様の質問を読んだが、彼らは助けなかった、おそらく彼らは以前のバージョンで働いた。
誰かが私に解決策を見つけるのを手伝ったり、私が逃したことを説明してくれることを願っています。
マップには問題はありませんが、実際はそのアイデアだから、目的地でのものが少なくて済みます。だから私はあなたが何を見ているのか分かりませんが、AMに関する限りあなたのマップはいいです。 –
@LucianBargaoanu例外はメッセージ「エラーマッピングタイプ」を持つ 'AutoMapperMappingException'です。マッピング型: 'IEnumerable'1 - > List'1 System.Collections.Generic.IEnumerable'1 [[DomainEntities.Category]] - > System.Collections.Generic.List'1 [[Web.Dtos.CategoryDto]]'。内部例外は、タイプマップの設定が欠落しているか、サポートされていないマッピングです。マッピングタイプ: 'Category - > CategoryDto、DomainEntities.Category - > Web.Dtos.CategoryDto'。 'Mapper.Map、List >(_ unitOfWork.Categories.GetAll())'でスローされた例外。通常これは彼がいくつかの小道具を見つけることができないことを意味します –
QuarK
reproが助けになります。私たちが実行して失敗することができる[要点](https://gist.github.com/lbargaoanu/9c7233441c3a3413cc2b9b9ebb5964a9)を作ってください。 –