私はlinqを使用して行をクローンする必要があります。 。トライは、行のクローンを作成する際db1.Persons.First()クローン()のように、Clone Linqオブジェクトエラー "タイプ 'TestLinq.PersonAddress'のオブジェクトグラフにサイクルが含まれているため、参照トラッキングが無効になっているとシリアル化できません。
public static T Clone<T>(this T source)
{
var dcs = new System.Runtime.Serialization
.DataContractSerializer(typeof(T));
using (var ms = new System.IO.MemoryStream())
{
dcs.WriteObject(ms, source);
ms.Seek(0, System.IO.SeekOrigin.Begin);
return (T)dcs.ReadObject(ms);
}
}
しかし、私はこの方法を見つけました
この例外が発生します。「タイプ 'TestLinq.PersonAddress'のオブジェクトグラフにサイクルが含まれており、参照トラッキングが無効になっているとシリアル化できません。
注:私の表は、1つのプライマリキーと1つの一意のインデックスが3フィールド
を含ん含まあなたは私
ハミド
+1すばらしいです!それを必要とした: – magnus
別の+1、それは束を助けた! – Aligned
これが今できるようになりました... NET 3.5SP1は、DataContractの "IsReference"属性のサポートを追加しました。私はEFがサポートを内蔵していると信じていますが、LINQ2SQLにはL2ST4のようなものが必要です。 –