Entity Framework を使用して Automapper をプロジェクトに含めようとしています。これは私の DTO クラスです。
public class FunctionDto
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public string Comment { get; set; }
public DateTime? ExaminationDate { get; set; }
public string Place { get; set; }
}
そして、最初にコードを含むドメイン クラス:
public class Function
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public string Comment { get; set; }
public DateTime? ExaminationDate { get; set; }
public string Place { get; set; }
public virtual List<Employee> Employees { get; set; }
}
オートマッパーの構成:
public static class AutoMapperConfiguration
{
public static void Configure()
{
Mapper.Initialize(config => config.AddProfile<FunctionProfile>());
}
}
public class FunctionProfile : Profile
{
protected override void Configure()
{
CreateMap<Function, FunctionDto>()
.ForMember(dto => dto.Id, opt => opt.MapFrom(src => src.Id))
.ForMember(dto => dto.Name, opt => opt.MapFrom(src => src.Name))
.ForMember(dto => dto.Comment, opt => opt.MapFrom(src => src.Comment))
.ForMember(dto => dto.StartDate, opt => opt.MapFrom(src => src.StartDate))
.ForMember(dto => dto.EndDate, opt => opt.MapFrom(src => src.EndDate))
.ForMember(dto => dto.ExaminationDate, opt => opt.MapFrom(src => src.ExaminationDate))
.ForMember(dto => dto.Place, opt => opt.MapFrom(src => src.Place));
}
}
次に、WebApi で使用します。
var functionDtos = functions
.AsQueryable()
.OrderBy(sort)
.Skip(start)
.Take(count)
.ToList()
.Select(Mapper.Map<FunctionDto>);
もちろん、私はグローバルに登録しています:
AutoMapperConfiguration.Configure();
しかし、私は例外を得ました:
タイプ マップの設定がないか、マッピングがサポートされていません
上記のコードの何が問題になっていますか?