如何在启用代理的情况下制作已由 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)
.
看