Microsoft DevDays 2010 – Day 2

The second day of the Microsoft DevDays 2010 was a day I didn’t expect much from. I saw the agenda and didn’t have a real feeling for certain titles that I just had to see. Thankfully I met with an old colleague of mine (whose only day on the DevDays it was) and he did, so I just trailed with him and saw some more unexpected great things.

The second day was more code oriented in most cases though and give me less to tell, add too that that I actually walked away on one occasion and that makes even less to tell. There are some great things I do want to share though.

“Lap Around .NET 4” by Scott Hanselman

A great way to start the day, Scott gave an excellent summary of all that was said the previous day and added a little more. Especially my friend appreciated this, since he missed the first day. What he added more got my appetites going for the remainder of the day and that was the one reason I actually ended my day following the presentation of Mike Taultry, which I was glad I did.

“Entity Framework 4” by Alex van Beek

Something I was interested in hearing more about for quite some time, but never gotten round to it. So it was an easy choice, and together with the keynote they were the only presentations I wanted to see in advance.

According to Alex the Entity Framework was designed to replace the ADO.NET Framework and should become the main ORM tool in .NET. We also now LINQ to SQL off course already as ORM tool, but apparently that is being discontinued and the LINQ to SQL development team has been moved over to the Entity Framework team. Since they have been moved we can expect to see all the things that where possible in LINQ now also in the Entity Framework.

The Entity Framework seems to be different from the most ORM tools in the fact that it has more layers. It has an Object Model (.cdsl), Relational Model (.ssdl) and a Mapping Layer (.msl) in between.

That however is not what you add to your project, you add an .edmx file, which compiles to these three files. You won’t see a thing off this off course, since they will be added to your resources for you on compile time. You can turn this off however, so you have control over these files.

The Entity Framework supports many things like LINQ, but also EntitySELECT and it even has POCO (Plain Old CLR Objects) support. Something we definitely have to watch when .NET 4.0 comes out!

“Reactive Extensions for .NET (Rx)” by Bart J.F. de Smet

Reactive Extensions also really got my interest. I actually just went to this presentation because my friend wanted to go and he though I having no clue whatsoever this is as a good reason to go… and so did I.

I am glad however I went. Apparently we now get an opposite of IEnumerable<T> and IEnumerator<T>, namely the IObservable<T> and the IObserver<T>.

So we now not only have a pull construct, the IEnumerable, but also a push. A very welcome addition. I believe it isn’t shipped with .NET 4.0 though, you will have to download it from the MSDN DevLabs.

“Silverlight 4 – A Guided Tour of MEF” by Mike Taultry

At the end of the day we went to see Mike Taultry present us the Managed Extensibility Framework, another thing I am really interested in and something I might actually already see uses for.

Mike Taultry gave us his own description and I quote it here: The Managed Extensibility Framework is “an extensible framework for composing applications from a set of loosely-coupled parts discovered and evolving at run-time”.

With other words it is a framework that makes it possible for parts (classes, properties, etc) to expose themselves and to let themselves be found by parts that are looking for other parts.

This is done through two attributes that we can use, namely Export (exposing) and Import (looking). MEF uses these to compose these parts together. This is done based on contracts. Normally these contracts are interfaces, but it can also be done on types (quite easily).

The nice thing on this system is that we don’t have to program anything for it, other than setting exposing and looking attributes. The framework handles everything else, though we can take matter in our own hands if we want too.

Conclusion

As you can see I only mentioned four presentations and not five, while there were five I went too. The one I didn’t mention was the one I left from and thus is hardly worth mentioning. However it was again a very successful day. Not as great as the first, but still a great day.

Microsoft DevDays 2010