使用Automapper的通用对象的通用对象

时间:2014-12-02 08:19:14

标签: c# .net entity-framework automapper

将通用对象复制到通用对象

时遇到问题
public class Customer
{
    public int CustomerId { get; set; }
    public virtual ICollection<Quote> Quotes { get; set; }
}

我使用这个泛型类将对象复制到对象:

public static class GenericAutomapper
{
    public static void PropertyMap<T, U>(T source, U destination)
        where T : class, new()
        where U : class, new()
    {
        Mapper.CreateMap(typeof(T), typeof(U));
        Mapper.Map<T, U>(source); //crash here
    }
}

当我找到一个客户(使用EF 6.1.2)并使用这种方法时,我在&#34;崩溃时遇到错误&#34;线。行情集合如下所示: &#39;((System.Data.Entity.DynamicProxies.Customer_AC635AD71AC95634EF9694FDC434135B488FD116F3C2B6A287846A7886521F3F)源).Quotes&#39;

我在查询中包含此问题时没有任何问题:.Include(x => x.Quotes)在我的查询中,正常情况下已加载集合。

有没有办法管理&#34;未加载&#34;收藏?

谢谢,

1 个答案:

答案 0 :(得分:0)

您需要关闭延迟加载或在映射之前执行查询;对.Include()的调用会对此有所帮助,或者在应用映射之前需要.ToList()(或类似的东西)。