We're building a personnel system for an HR department. The final solution will be sitting in SharePoint 2007 (upgrading to 2010 in 6-12 months). We've built a data model, and now we're faced with a dilemma. Should we try to build SharePoint lists to cram the data into the database using event receivers, or should we just build an ASP.NET web app using application pages and "fake" the SharePoint interface?

Pros of the SharePoint lists are free/familiar user interface, recycle bin, versioning on the list. Cons are needing to update the database either in batch mode or real-time, lists would require some duplication of fields to get cascading drop-downs and other user interface features (eg: filtering a list view with another list).

Having a normalized database really helps with referential integrity, which can be built-in to the lists via event receivers. We can also achieve our reporting requirements with the database. If we built our ASP.NET web app, we'd have to implement the recycle bin and versioning ourselves, and we'd have to mimic the SharePoint UI anyway.

So is there a way to get the best of both worlds? I want the UI of SharePoint, but the referential integrity of a transactional database.

  • Note that in SP2010 you get a relatively basic form of relational lists, which allow you to cascade and restrict deletes. Might be something to bear in mind if you are moving to 2010 in under a year. Jul 19, 2011 at 21:01

2 Answers 2


How would rssbus help? Does it replicate between SharePoint Lists and normalized databases? Why not spin up SP2010 farm now and leverage BCS now? Be careful as normalized db's means most likely custom BDC model in Visual Studio 2010 to manage the mapping. Also BCS External Content Type List doesn't support everything a standard list does.


TMS included the Business Data Connector (BDC) and Burliness Connectivity Services (BCS) to assist with such scenarios.

Some good overview:



Coincidentally (not really) lightingtools make some cool BDC/BCS tools for mapping items to SharePoint.

  • Does BDC write back to the database though? I seem to remember 2007 was read only, 2010 had read-write.
    – James Love
    Jul 19, 2011 at 15:41
  • Good catch, BDC is read only. A third party tool like RSSBUS may be an acceptable option. I would verify that any solution deployed on 2007 will be compatible with their 2010 products so it doesn't have to be re-written/created. Jul 19, 2011 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.