C# itypecoverter<;比萨饼,比萨饼>;。转换(PizzaVm、Pizza、ResolutionContext) 使用System.Linq; 使用自动制版机; 使用ShopDx3.DomainModels; 使用ShopDx3.DomainModels.Enums; 使用ShopDx3.SharedKernel; 使用ShopDx3.ViewModels; 命名空间ShopDx3.Api.Factories { 公共类OrderVmToOrderDmConverter:ITypeConverter { 公共秩序转换(ResolutionContext上下文) { var src=(OrderVm)context.SourceValue; var servType=Enumeration.FromDisplayName(src.ServiceType.Replace(“,”); var pizzas=src.pizzas.Select(x=>Mapper.Map(x)).ToList(); var结果=新订单(servType、pizzas、src.Name); 返回结果; } } }

C# itypecoverter<;比萨饼,比萨饼>;。转换(PizzaVm、Pizza、ResolutionContext) 使用System.Linq; 使用自动制版机; 使用ShopDx3.DomainModels; 使用ShopDx3.DomainModels.Enums; 使用ShopDx3.SharedKernel; 使用ShopDx3.ViewModels; 命名空间ShopDx3.Api.Factories { 公共类OrderVmToOrderDmConverter:ITypeConverter { 公共秩序转换(ResolutionContext上下文) { var src=(OrderVm)context.SourceValue; var servType=Enumeration.FromDisplayName(src.ServiceType.Replace(“,”); var pizzas=src.pizzas.Select(x=>Mapper.Map(x)).ToList(); var结果=新订单(servType、pizzas、src.Name); 返回结果; } } },c#,asp.net-web-api2,automapper,C#,Asp.net Web Api2,Automapper,当我构建时,我得到错误消息 错误CS0535“PizzaVmToPizzaDmConverter”未实现接口成员“ITypeConverter.Convert(PizzaVm, 披萨 ResolutionContext)'ShopDx3.Api D:\Projects\ShopDx3\src\ShopDx3.Api\Factories\PizzaVmToPizzaDmConverter.cs 现在我正在努力 using System.Linq; using AutoMapper; using S

当我构建时,我得到错误消息

错误CS0535“PizzaVmToPizzaDmConverter”未实现接口成员“ITypeConverter.Convert(PizzaVm, 披萨 ResolutionContext)'ShopDx3.Api D:\Projects\ShopDx3\src\ShopDx3.Api\Factories\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(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;
        }
    }
}
使用System.Linq;
使用自动制版机;
使用ShopDx3.DomainModels;
使用ShopDx3.DomainModels.Enums;
使用ShopDx3.SharedKernel;
使用ShopDx3.ViewModels;
命名空间ShopDx3.Api.Factories
{
公共类OrderVmToOrderDmConverter:ITypeConverter
{
公共订单转换(OrderVm pvm、Order p、ResolutionContext上下文)
{
var src=(OrderVm)context.SourceValue;
var servType=Enumeration.FromDisplayName(src.ServiceType.Replace(“,”);
var pizzas=src.pizzas.Select(x=>Mapper.Map(x)).ToList();
var结果=新订单(servType、pizzas、src.Name);
返回结果;
}
}
}
但是有了这个密码我就明白了
严重性代码描述项目文件行抑制状态
错误CS1061“ResolutionContext”不包含“SourceValue”的定义,并且找不到接受“ResolutionContext”类型的第一个参数的扩展方法“SourceValue”(是否缺少using指令或程序集引用?)ShopDx3.Api D:\Projects\ShopDx3\src\ShopDx3.Api\Factories\OrderVmToOrderDmConverter.cs 14处于活动状态

已更新

我将我的AutoMapper降级到版本
3.3.1
它解决了我的问题,
谢谢大家。

您的方法
Convert
只有一个参数。该错误意味着它需要3个参数

所以

应该是:

public Order Convert(ResolutionContext context)
{
   ...
}

或者。。。应添加具有所需签名的第二个方法。

您的方法
Convert
只有一个参数。该错误意味着它需要3个参数

所以

应该是:

public Order Convert(ResolutionContext context)
{
   ...
}

或者。。。应添加具有所需签名的第二个方法。

AutoMapper 5.0从ResolutionContext中删除了source value属性,以便直接传入值。事实证明,将源值放入ResolutionContext对象中相当慢。将它们直接传递到您的类型转换器使AutoMapper 5.0比AutoMapper 3.x快20-50倍左右。

AutoMapper 5.0从ResolutionContext中删除了源值属性,以支持直接传递值。事实证明,将源值放入ResolutionContext对象中相当慢。将它们直接传递给您的类型转换器,使AutoMapper 5.0比AutoMapper 3.x快20-50倍。

您似乎没有实现
TDestination转换(TSource-source、TDestination-destination、ResolutionContext-context)
这里有什么问题?PizzaVmToPizzaDmConverter不在您发布的代码示例中。有没有你没有发布的代码?我想我发布了一些信息,但是viewModels中有代码,您似乎没有实现
tdestimation转换(TSource source、tdestimation destination、ResolutionContext context)
这里有什么问题吗?PizzaVmToPizzaDmConverter不在您发布的代码示例中。有没有你没有发布的代码?我认为有一些信息缺失,我发布了所有信息,但是viewModels中有代码,您的第二个错误与第一个完全不同。这应该是关于stackoverflow的第二个问题。无论如何该错误表示您的
上下文
(类型为
ResolutionContext
)没有名为
SourceValue
的属性。查阅类型为
ResolutionContext
的文档,查看它有哪些属性。或者使用另一种类型,它确实具有您要查找的属性。您的第二个错误与第一个错误完全不同。这应该是关于stackoverflow的第二个问题。无论如何该错误表示您的
上下文
(类型为
ResolutionContext
)没有名为
SourceValue
的属性。查阅类型为
ResolutionContext
的文档,查看它有哪些属性。或者使用另一种类型,它确实具有您要查找的属性。
public Order Convert(PizzaVm pvm, Pizza p, ResolutionContext context)
{
   ...
}