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;
        }
    }

ただし、シリアライザーは、プロキシの型が既知の型ではないことを正しく報告します。

アップデート

ProxyContractResolver で DataContractSerializer を使用すると、クラスがDataContract(IsReference = true).

見る

POCO に IsReference = true 属性がある場合に EF プロキシをシリアル化する

4

0 に答える 0