我正在使用AutoMapper
,并且具有DTO的节点和接口。
DTO节点具有一组接口:
public class NodeDto
{
public List<InterfaceDto> Interfaces { get; set; }
}
然后我要将该DTO映射为如下模型:
public interface IInterfaceCollection : IBaseCollection<IInterface>
{
INode Node { get; }
}
public class InterfaceCollection : IInterfaceCollection
{
}
public class Interface : IInterface
{
}
public class Node : INode
{
public IInterfaceCollection Interfaces { get; set; }
}
在应用程序注册码中,我有:
CreateMap<NodeDto, INode>()
.ConstructUsing(n => new Node())
.ForMember(d => d.Interfaces, m => m.MapFrom(s => s.Interfaces));
CreateMap<InterfaceDto, IInterface>()
.ConstructUsing(n => new Interface());
但是如何告诉AutoMapper创建一个具有由DTO值填充的属性Interfaces(InterfaceCollection)的Node实例?
当我使用此设置ive启动应用程序时出现错误:
无法转换类型的对象 'System.Collections.Generic.List`1 [Models.Api.IInterface]' 键入“ Models.Api.IInterfaceCollection”。