MVC Data access logic
<p>I know that many people have asked this question but I still don't have a clear understanding where should be the Data access layer in an MVC project. 
Here is what I do:</p>

<ul>
<li>I have my Web application and the data access layer in separate projects</li>
<li>In my data access project I have only one class (which I have named "DB") that processes all requests to the database</li>
<li>And when I need for example a list with all books I call <strong>DB.GetAllBooks();</strong> from my controller</li>
</ul>

<p>Is this a good practice or I should have a separate class for books operations, user operations etc in my data access layer?</p>