What is good practice with DB Services C# <p>I am making web project in ASP.NET MVC. Every controller call service to do some operations. Lets take a look on example</p> <pre><code> public interface IProjectService { bool ActivateProject(int projectId); //others } </code></pre> <p>And implemented class </p> <pre><code> public class ProjectService : IProjectService { private readonly IContextProvider _contextProvider; public ProjectService(IContextProvider contextProvider) { _contextProvider = contextProvider; } public bool ActivateProject(int projectId) { using (var context = _contextProvider.GetContext()) { var project = context.Projects.Where(p =&gt; p.ProjectId == projectId).SingleOrDefault(); project.Status = 1; context.SaveChanges(); return true; } } //others } </code></pre> <p>In the example administrator wants to activate project. I have validation in jQuery so admin cannot pass nothing else than projectId. </p> <p>So now what should return this method? Should I leave it as void? Lets say there is an error with database so should I throw exception? Whats practice for this kind of operations ?</p>