Skip to main content

Not ready for Entity Framework? Then What?

Will Smith and I started an offline thread based on his post "Uninstalling EF Beta 3". Granted, the ADO.Net Entity Framework is still beta and probably won't go gold until Summer, but I wondered what he would use instead. His team is solid but not advanced and he wants to keep complexity to a minimum while remaining as agile as possible. Here's my advice. Your thoughts?
You're probably wise in steering away from 3.5 stuff with an uninitiated staff. I'd probably encapsulate your data access leveraging the Enterprise Library Data Access Application Blocks. You could leverage CodeSmith and NetTiers to quickly generate the data access layer effectively shielding your less-advanced developers from the complexity (they simply call class library methods vs. code ADO.Net 2.0). Later, when you want to shift to ADO.Net Entity Framework or [less likely] LINQ to SQL, you can rip out this data access layer simply replacing it with EF or LINQ. Granted, [obviously] you'll have to adjust the consuming classes to leverage LINQ afterwards but it should be a less-invasive change.

Update: 3/4/2008: Related, I'm recommending the Repository Factory guidance pattern. From the site:
The Repository Factory is a guidance package that automates creation of entity classes that map to database tables and repository classes to read and write those entity classes. The generated code removes the tedium of writing a persistence-ignorant domain model.

This package was originally published as the "Data Access Guidance Package" as part of the Web Service Software Factory. Data access is a much larger problem space than just services, so we've decided to split this package out into its own project.

Comments

Popular posts from this blog

CODODN: What's New in the ASP.NET 3.5 Extensions: Resources

Thanks for attending my presentation. Resources I referenced: .Net 3.5 Enhancements Training Kit Download Overview of ASP.NET 3.5 Extensions Preview ASP.NET 3.5 Extensions Preview (unrelated) Central Ohio Application Lifecycle Management Group: COALMG Update 4/22/2008 : Props to Dan Hounshell for finding this CODODN video . I'm in there 2-3 times. Nice!

Rollback a Ooops in TFS with TFPT Rollback

Rhut roe, Raggie. You just checked in a merge operation affecting 100's of files in TFS against the wrong branch. Ooops. Well, you can simply roll it back, right? Select the folder in Source Control Explorer and...hey, where's the Rollback? Rollback isn't supported in TFS natively. However, it is supported within the Power Tools leveraging the command-line TFPT.exe utility. It's fairly straightforward to revert back to a previous version--with one caveot. First, download and install the Team Foundation Power Tools 2008 on your workstation. Before proceeding, let's create a workspace dedicated to the rollback. To "true up" the workspace, the rollback operation will peform a Get Latest for every file in your current workspace. This can consume hours (and many GB) with a broad workspace mapping. To work around this, I create a temporary workspace targeted at just the area of source I need to roll back. So let's drill down on our scenario... I'm worki

Get Your Team Foundation Server Hate On!

[Google ranking skyrockets... ;-)] I'm a big fan of TFS/VSTS. However, there are a good pocket of folks who take issue with the way TFS handles or implements a certain feature. Well this is your chance to vent! I'm planning a presentation around the "Top 10 TFS/VSTS Hates and How to Alleviate Them"...or something along those lines. But I need your help. Post a comment below detailing your dislike. If it's legitimate, I'll highlight it in the presentation and [hopefully] provide an alternative, resolution, or work-around. Thanks in advance! Update 7/19/2008: Version Control and Microsoft