Varsayılan olarak, varlıklar düzenleme yaparken eşzamanlılığı denetlemek için tüm alanları kullanır. InvalidOperationException öğesini atayan budur.
Bu, tüm alanlar için Güncelle Denetle özelliğini Hiçbiri olarak ayarlıyor olabilir. Bu varlığın değiştirilmiş olarak eklenebilmesi için tüm alanlarda yapılmalıdır. Bu yapılırsa, context.SubmitChanges() için ek bir çağrı verileri kaydeder.
Alternatif olarak, orijinal değerleri biliyorsanız, ekleyebilir ve güncelleştirmeler yapabilirsiniz, ancak kontrol edilen tüm değerler orijinal değerlerle eşleşmelidir.
LinqEntity item = new LinqEntity(){ Id = 1, Name = "OldName", Surname = "OldSurname"};
context.LinqEntities.Attach(item);
item.Name = "John";
item.Surname = "Doe";
context.SubmitChanges();
Bu davranışın normal olduğunu bildiren ifadeye katılmıyorum. ActiveRecord desenini uygulayan herhangi bir ORM'de durum böyle değildir. Birçok kişinin görüşüne göre, bu Linq To SQL'in bir sınırlamasıdır. Burada bazı iyi tartışmalar: http://www.west-wind.com/Weblog/posts/135659.aspx –
Linq-to-sql, Aktif Kayıt uygulamıyor. – liammclennan