using System.Linq;
using AutoMapper;
using ShopDx3.DomainModels;
using ShopDx3.DomainModels.Enums;
using ShopDx3.SharedKernel;
using ShopDx3.ViewModels;
namespace ShopDx3.Api.Factories
{
public class OrderVmToOrderDmConverter : ITypeConverter<OrderVm, Order>
{
public Order Convert(ResolutionContext context)
{
var src = (OrderVm)context.SourceValue;
var servType = Enumeration.FromDisplayName<ServiceType>(src.ServiceType.Replace(" ", ""));
var pizzas = src.Pizzas.Select(x => Mapper.Map<PizzaVm, Pizza>(x)).ToList();
var result = new Order(servType, pizzas, src.Name);
return result;
}
}
}
當我建立我得到錯誤messaeITypeConverter <PizzaVm,披薩> .Convert(PizzaVm,披薩,ResolutionContext)
錯誤CS0535 'PizzaVmToPizzaDmConverter' 不實現接口成員「ITypeConverter.Convert( PizzaVm, 比薩, ResolutionContext)」 ShopDx3.Api d:\項目\ ShopDx3的\ src \ ShopDx3.Api \工廠\ PizzaVmToPizzaDmConverter.cs
現在我想
using System.Linq;
using AutoMapper;
using ShopDx3.DomainModels;
using ShopDx3.DomainModels.Enums;
using ShopDx3.SharedKernel;
using ShopDx3.ViewModels;
namespace ShopDx3.Api.Factories
{
public class OrderVmToOrderDmConverter : ITypeConverter<OrderVm, Order>
{
public Order Convert(OrderVm pvm, Order p, ResolutionContext context)
{
var src = (OrderVm)context.SourceValue;
var servType = Enumeration.FromDisplayName<ServiceType>(src.ServiceType.Replace(" ", ""));
var pizzas = src.Pizzas.Select(x => Mapper.Map<PizzaVm, Pizza>(x)).ToList();
var result = new Order(servType, pizzas, src.Name);
return result;
}
}
}
但有了這個代碼,我得到 Severity Code Description Project File Line Suppression State Error CS1061 'ResolutionContext' does not contain a definition for 'SourceValue' and no extension method 'SourceValue' accepting a first argument of type 'ResolutionContext' could be found (are you missing a using directive or an assembly reference?) ShopDx3.Api D:\Projects\ShopDx3\src\ShopDx3.Api\Factories\OrderVmToOrderDmConverter.cs 14 Active
修訂
我降級我AutoMapper到3.3.1
它解決了我的問題的版本, 謝謝大家。
你似乎沒有實現'TDestination轉換(TSource源,TDestination目標,ResolutionContext上下文)' – haim770
這裏有什麼問題? – Batuu
PizzaVmToPizzaDmConverter不在您發佈的代碼示例中。 是否有一些你沒有發佈的代碼?我認爲有一些缺失的信息 – MichaelThePotato