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