Mapper.CreateMap<Foo,Bar>();
var test1 = Mapper.FindTypeMapFor<Foo,Bar>(); //this succeeds
var foos = db.Foos.ToList();
var test2 = Mapper.FindTypeMapFor<Foo,Bar>(); //this returns null
为什么调用ToList(如果我删除ToList它工作正常)会导致映射不再存在?
答案 0 :(得分:0)
这里没有太多可以继续的;我在我的机器上设置了一个简单的实现,它运行得很好。我最好的猜测是你的模型有点复杂,EF查询有副作用,动态生成一个或多个派生自Foo的类型,AutoMapper不知道如何映射到Bar。 ToList()
重要性只是运行查询,该查询延迟到此时为止。尝试设置
db.Configuration.ProxyCreationEnabled = false;
在运行查询之前,看看它是否仍然存在。