There are several ways you can go about getting your data. You can use something like the WF ADO.NET Activity Pack CTP 1 from CodePlex, it works but can't say I am a fan. You can do something similar using EF, NHibernate ect in a CodeActivity. But in general I always tell people to split the what from the how. The workflow should be concerned with the what part and you should keep the how outside of the workflow itself. That would mean create a real simple activity that works with a workflow extension and put you data access code in the workflow extension. Once you do this your workflow extension is just another data repository and you can use standard coding techniques there.