15 Mart 2015 Pazar

Type 'System.Data.Linq.ChangeTracker+StandardChangeTracker' in Assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.


Linq to sql ile çalışırken serialize işlemi yapmaya çalıştığımızda aşağıdaki gibi bir hata alabiliriz.

Serializable Exception :
Type 'System.Data.Linq.ChangeTracker+StandardChangeTracker' in Assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.



Bu durumda aşağıdaki işlemi yapmamız yeterlidir.

Örneğin 'TradeDataContext' isminde bir dbml imizin olduğunu düşünelim ve içerisinde Product isminde bir tablodan veri çekmek istediğimizi düşünelim.

Normalde hata alabileceğimiz şekli aşağıdaki gibi bir senaryoda olacaktır.

TradeDataContext context=new TradeDataContext();
context.Products.Tolist();

Bu hatadan geçmek için aşağıdaki şekilde bir ekleme yapıp kodumuzu yeniden düzenlersek sorun çözülmüş olacaktır.

TradeDataContext context=new TradeDataContext();
context.ObjectTrackingEnabled = false;/*kodumuz içerisinde eklenecek kod*/
context.Products.Tolist();

Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.