Andres Aguiar's Weblog

Just My Code

March 2009 - Posts

Client side change-tracking data structures in .NET

A couple of years ago I was involved in a couple of threads about doing change-tracking in client-side data structures to support multi-tier development, just like DataSets do, but with the Entity Framework.

Some time ago the EF team proposed a complex low-level solution for the problem, and now is proposing a simpler one based on code generation.

I wouldn´t have much to say about it, if it weren´t because that will be the third new technology that somehow tries to solve that multi-tier problem in the .NET Framework. We already have ADO.NET Data Services, which does not provide client-side change tracking, then we have the newly announced .NET RIA Services, which are supported for SL and AJAX and they´ll be supported for the full .NET Framework in the future, and now we have the EF solution, all of them working on top of EF models.

I´ve read somewhere that Microsoft is trying to align ADO.NET DataServices and RIA Services, but I also heard that the frst time I learned they were building 2 different O-R mapping technologies, and they ended up shipping both.

Can we please get one consistent solution? I guess ADO.NET DataServices´s commitment to ATOM could make it difficult to adopt for the EF and RIA Services but I don´t see a reason why we need the EF solution and the RIA services one.

Even if I see why ADO.NET DataServices could be slightly different, I feel there should be a way to come with one solution that covers all the scenarios. The end goal is not very different.

Thanks in advance.

More Posts