 <p>Firstly, I think there might be some misunderstanding in the term 'inject'.</p> <p>Inject means this:</p> <pre><code>public class UserService { MyContext _db; public UserService(MyContext db) { _db = db; } public void GetUserById(string id) { _db.Users.First(x =&gt; x.Id = id); } } </code></pre> <p>Instead of this:</p> <pre><code>public class UserService { MyContext _db = new MyContext(); public UserService() { } public void GetUserById(string id) { _db.Users.First(x =&gt; x.Id = id); } } </code></pre> <p>Notice how in the first example <code>MyContext</code> is 'injected' into the constructor. In the second example, <code>UserService</code> itself creates a new instance of <code>MyContext</code>.</p> <p>Now, should you? I believe you should, and in fact, it is an accepted good practice. Before you do, make sure to read and try it on a few sample projects to find out the benefits it brings you. <a href="https://en.wikipedia.org/wiki/Dependency_injection#Advantages" rel="nofollow">Wikipidia: Dependency Injection Advantages</a></p>