In this chapter, we have written the code for the data access layer to support the first feature. There were a number of issues that were uncovered as we explored the implementation. We chose to use a typed DataSet , which enabled us to test individual entities without having to create all the associated entities. The choice of the typed DataSet also allows us to be disconnected from the database, which has the promise of improved database connection utilization, but we will have to wait and see whether that is useful to our solution, and in fact it might be a detriment. Finally, what does it buy you to have these types of tests? The one thing that stands out is that the database schema is exactly what we are expecting. If the schema were to change, one or more of these tests would fail. Because the schema is not under our control, it is very useful to have a suite of tests to verify the external boundary. There are many questions still to be answered , so let s move on to the next chapter, in which we make the recording lookup functionality available as a Web service.