L2S очень требователен к обновлению сущности, пришедшей из другого контекста БД. На самом деле, вы не можете сделать это, если сначала не «отсоедините» его от контекста, из которого он произошел. Есть несколько разных способов отделить сущность. Один из них показан ниже. Этот код будет в вашем классе сущности.
public virtual void Detach()
{
PropertyChanging = null;
PropertyChanged = null;
}
В дополнение к этому вы также можете сериализовать вашу сущность, используя сериализацию на основе WCF. Примерно так:
object ICloneable.Clone()
{
var serializer = new DataContractSerializer(GetType());
using (var ms = new System.IO.MemoryStream())
{
serializer.WriteObject(ms, this);
ms.Position = 0;
return serializer.ReadObject(ms);
}
}