Is the guidance project still active?

Dec 28, 2009 at 8:40 AM


Is this project still active?
Are there plans for new drops and updated documentation?

Kind Regards,


Jan 5, 2010 at 4:07 AM

Seems dead to me...

Jan 5, 2010 at 6:40 PM

It's not completely dead, but it's not exactly active either. Today the code posted here is based on beta 1 of .NET 4.0, but Mike (the lead dev on the project) and I are going to be updating it to beta 2 within the next 3 weeks or so (getting ready for a talk in Israel). This is good news because the Entity Framework team included some significant improvements in beta 2 that will simplify our data access code. There are also some documentation topics I would like to write that highlights how we did some of the things in the reference implementation code.

If you're curious what I meant about the project status, here's the deal. We kicked off this project in early 2009 as a result of customers telling us they needed guidance on data access. Well, for reasons we can only speculate about today, no one seemed to care. We really struggled to get feedback about what we doing. Some people were downloading the early bits, but when we asked for feedback, all we heard were crickets. So with our compass completely broke (customer feedback is absolutely essential to the success of p&p projects) I couldn't justify hiring more vendors and spending a lot more money building some guidance no one seemed to care about. So we decided to push the pause button for a while and see what would happen as we got closer to the release of .NET 4.0 and VS2010.

We'll update the code and add some more documentation topics because we're proud of what we've built so far and hope it'll be useful to someone, but the project is currently without an official team. Let me know if you have any questions.


Jan 5, 2010 at 7:55 PM

Don, it's curious that you say that because I believe this is exactly the sort of guidance the web development community needs right now. In a relatively short period of time we've been hit with a ton of new frameworks: ASP.NET MVC, Entity Framework 2.0, PRISM, UNITY, MEF, Linq-to-Sql, WCF, Velocity, not to mention .NET 4.0 itself. There has also been new/renewed interest in a variety of patterns: MVC, MVVM, Unit Testing, IoC, Mocking, et al.

The combination of all this new stuff hitting us at once puts us back to square one in many respects. I "know" what an ASP.NET application looks like. I know its caveats, I know its crazy page/control lifecycles, I know how to work around ViewState, I know how to data bind, I know the performance impacts of doing various things, I know the data access patterns. Knowing all this stuff came from zillions of hours of dinking around over the last decade.

So how do we come to know the new stuff? Well, over the last three years or so reading blogs has become the standard for that. The problem is that blogs are usually very short, to-the-point, and focused on one teeny apect of a single framework. As a result, reading blogs to learn how to write web applications is like using a magnifying glass to map the surface of the earth. You'll get there eventually but it'll take a long, long time. When I first came across your dataguidance project it was exactly what I was looking for -- all the new frameworks in once place where I can see how they fit together.

From a "boots on the ground" developer, these frameworks lead to a bunch of questions (these are a quick sampling):

  • How the heck do I properly integrate all these new frameworks and patterns into my web application?
  • Can I do it in such a way that I remain productive and keep my hands from being tied by the frameworks/patterns themselves?
  • How can do I maintain N-Tier separation when using Linq-to-Sql w/o doing tons of extra work?
  • What will my final implementation look like?
  • Is there a sample I can use to get started?
  • Can I debug through an existing sample so I can get a feel for the logical flow?
  • How do I do unit testing in a web scenario anyway?
  • Do how I switch from ADO.NET to EF and still preserve my caching logic?
  • What are the performance impacts from all these layered frameworks/patterns?
  • Does all this stuff truly make me more productive than my competitor who uses PHP/Python or my competitor who uses old-fashioned ASP (believe me I've wondered this sometimes)?

Regarding your comment about not receiving feedback, I think it's a chicken-or-the-egg problem: people don't want to switch to these new frameworks until they understand how to use them, but they won't understand how to use them until they start switching to them. In my mind this data guidance project (and hopefully others like it) would go far toward breaking this cycle because it would give people an excellent starting point for getting into the new technologies without the associated risk/learning curve that's currently holding people back.

Jan 17, 2010 at 11:50 AM

Don, Mike,

Do you think it is reasonable to expect the updated cod at the end of January. I didn't have a chance to open VS 2010 Beta 1 version because I have Beta 2 installed, but I hope you used DDD principles: Repository, IoC, UoW, Aggregate root, Value Object, Domain and application services, TDD etc.

Can you correct the reference to the client as being and ASP.NET MVP application when the diagram obviously shows MVC.
It would be interesting to have another client based on Codeplex WebFormsMvp CTP5 project which has similar programming model as MVC.

DinnerNow (another abandon project) was a solid example of using Linq to SQL and other technologies. I would be benefitial to keep updating or re-architeting an existing project to see how new technologies improve and simplify application design and performance. Somethign like Petshop 1,2,3 and 4. If Microsoft is serious about its new technologies being adopted quickly they better form teams to support Reference Implementations using MS way and Alt.NET way.





Jun 9, 2010 at 8:49 AM


I'd like to reaffirm korggy's comments and hope to see an update to the source soon.  Although I'm starting from MVC 2.0 and without the ability to complete a build of the source on my dev machine.  For me this sample has still proven to be one of the most useful out there, way above the copious demoware we're currently being subjected to.

Although not directly related to Data Access P&P I've found your web functional tests have given us some really good direction. 

Looking forward to an update.

Many Thanks

Mar 25, 2011 at 7:16 PM

Just found this after reading Karl Shifflett's "In the Box" MVVM Training VS2010 Veature Extension. I'd also like to reaffirm the comments above. I've been slowly trying to digest the fire hose of documentation on Prism.  Although I've found many examples available on the web, most of them tend to be over simplified or stray to far from line of business applications to be much help.

Anyway, enough about my problems. I'll start digging into the information you have available here and hope that I can give useful feedback.



Mar 26, 2011 at 7:49 PM

Hey everyone,

I wanted to update you on some guidance I think you'd be interested in based on the comments above. Karl and our team have been working on web dev guidance that includes stuff like .NET 4.0, EF code first, MVC 3.0, Razor, Unity, IE9, jQuery UI, CSS 3, HTML5, Ajax, etc. It's called Project Silk and it's here on Codeplex. Our goals on Project Silk are definitely not to be as comprehensive on the data access guidance as we planned on doing on the Data Access Guidance project, but we did arrive on a design that we think is fitting for the reference implementation we're building. We would love for you all to have a look and tell us what you think. We don't have much more time for feedback to influence our implementation, but we'll make time if we have to - so bring it on :)


As far as status on this project, I'm not hearing anything that leads me to believe it will be picked up by anyone inside Microsoft just yet.


Mar 26, 2011 at 7:53 PM


If you find anything lacking in your ability to learn Prism, please let their codeplex community know. They may even be able to help you find other resources you didn't know about. But definitely let them know - they appreciate that kind of feedback. We're trying to make stuff as easy to grok as possible, sometimes we need help :)