Hi,
Based on my understanding, WPF applications will only use the config file named YourMainProject.exe.config which is by default the App.config file defined in your main project, and as only one config file is loaded for the whole application, the connection string that is in your Business.Data project will not be used.
Hence in order to avoid this kind of error, your connection string should be defined in your Shell project's App.Config file. In my experience I have always followed this approach. Regarding your application, I added the connection string to the main config file, and changed the code to filter books with and Id that exists in your database, and could verify that your view model bindings work correctly.
Regards,
Agustin Adami
http://blogs.southworks.net/aadami