2

如何在启用代理的情况下制作已由 Entity Framework Code First 加载的对象图的深层副本?

我正在使用这样的代码:

    static public T DeepCopy<T>(T obj)
    {
        BinaryFormatter s = new BinaryFormatter();
        using (MemoryStream ms = new MemoryStream())
        {
            s.Serialize(ms, obj);
            ms.Position = 0;
            T t = (T)s.Deserialize(ms);

            return t;
        }
    }

但是,序列化程序正确地抱怨代理类型不是已知类型。

更新

将 DataContractSerializer 与 ProxyContractResolver 一起使用不起作用,因为我的类用DataContract(IsReference = true).

当 POCO 具有 IsReference = true 属性时序列化 EF 代理

4

0 回答 0