gpt4 book ai didi

automapper - Proxy 类型中的方法 'GetEnumerator' 没有实现

转载 作者:行者123 更新时间:2023-12-04 13:02:14 25 4
gpt4 key购买 nike

使用 AutoMapper 时出现以下错误

Method 'GetEnumerator' in type 'Proxy' from assembly 'AutoMapper.Proxies, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005' does not have an implementation.



在我的存储库中,我有一个私有(private)方法
private IMapper GetMapper()
{
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<MyClass, PersistenceModels.MyClass>();
cfg.CreateMap<IEnumerable<PersistenceModels.MyClass>, IEnumerable<MyClass>>();
});

return new Mapper(config);
}

然后我按如下方式使用它
var mapper = GetMapper();
var userInfo = mapper.Map<IEnumerable<PersistenceModels.MyClass>, IEnumerable<MyClass>>(userInfoRaw);
MyClass类型相同并且具有 IEnumerable属性(property)
public IEnumerable<string> ImageUris { get; set; }

任何想法如何解决这个问题?

编辑

我不是映射接口(interface)定义的类型,而是映射具体类型的集合,因此 IEnumerable界面。

最佳答案

解决方案是不使用 IEnumerable创建 map 时,仅在使用 map 时。

所以,在我改变的配置中

cfg.CreateMap<IEnumerable<PersistenceModels.MyClass>, IEnumerable<MyClass>>();


cfg.CreateMap<PersistenceModels.MyClass, MyClass>();

一切正常。

关于automapper - Proxy<IEnumerable> 类型中的方法 'GetEnumerator' 没有实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com