I just returned from conferences in Amsterdam and Bulgaria where one of the sessions I presented at both conferences was an Intro to Entity Framework.
Entity Framework is a vast topic and I struggle with how to approach a 60 or 75 minute intro session.
I have contemplated doing a baby-step intro session that just shows a few simple examples - building an Entity Data Model, doing some queries in a Console App, then doing a drag & drop WinForms and a drag & drop (EntityDataSource) web app. But this just never satisfies me.
I also had a long conversation at SDN with Alex Thissen about teaching EF from the top down (EDM, LINQ to Entities, Object Query then EntityClient) or bottom up (EDM, EntityClient, ObjectQuery then LINQ to Entities).
In the end, what I did in Amsterdam (with my session cut short almost 20 minutes because of a problem with the projector cable (which I had actually discovered 15 minutes before the talk was to start so in the end it took about a 1/2 hour to solve the problem :-( ) and in Sofia was to focus first on the EDM, then do some simple querying and then go for wide coverage of what's in the Entity Framework. This approach means less demos, yet the audience can walk away with a good overview of what they can (and can't) expect from the Entity Framework. In Sofia I actually asked the attendees if they would like to just see some drag & drop demos or if they would prefer to get the bigger picture. They overwhelmingly opted for the big picture. And so far, I've seen a few good responses from that, though when I get the evals, I'll know better. In Amsterdam I did get one comment (out of 50+ evals) that said "not enough demos". This pained me, but it was just one. And of course someone who did not know that I was actually in the room testing the equipment 15 minutes before the session began had this complaint ... "test the equipment before the talk, please!" :-(
This morning, as I'm still catching up on blogs from my 2 weeks away, I saw a post by Dana Coffey about Chris Love's EF presentation at the Richmond Code Camp. Chris is writing a new version of his Beer House Book (providing patterns for architecting ASP.NET applications) which will include Entity Framework and presented a demo from the book.
Dana said
As usual, he really showed enthusiasm for what he was doing and was able to explain it to his audience with clarity and simplicity. He made me want to do an Entity Framework project simply for fun!
That was an impressive reaction. So I went over to Chris' blog and found this description of the talk:
This presentation will have maybe 4 slides in a slide deck and will be pretty much nothing but rolling up my sleeves and showing how to build an n-Tiered app using the Entity Framework as the Data Access Layer and the Repository Pattern. Be forewarned there will be no EntityDataSource in this presentation!
My goals are to show you how to get up and running using the Entity Framework, a good n-Tiered architecture and a web site. This will just touch the tip of the ice berg and I hope it wets your appetite to look more into the use of the Entity Framework as a data access option.
What a different approach to introducing people to E.F. One good, deep example of it in use. Chris mentions the big problem I worry about - that it's just "the tip of the iceberg". I'm always worried that people will just take what I show them and walk away thinking that's all there is to EF.
The full day workshops that I'm teaching at DevConnections (Nov 10) and DevTeach (Dec 5) will be much easier as I'll have 6 or 7 hours, not 75 minutes. But I do have two user group presentations coming up where I'm doing the intro session again. CapArea.NET in Dec and Philly.NET in January.
Chris' tactic is interesting and I think much more satisfying than a winforms data source or asp.net EntityDataSoure. However what he's doing is very time consuming and won't leave time for much in terms of painting a broad picture of what's in EF.
User groups are a little more flexible about the time so maybe I'll have 90 minutes or even two hours. But I know I will keep dwelling on this to achieve the perfect balance. While I'd love to get a reaction like Dana's, I think my ultimate goal with my intro talk is not to get people to want to play with EF just for the fun of it, but to be able to decide if EF is a framework they want to incorporate into their architecture and make an investment in.