Executin a migration for a dbContext that is not in startup project
<p>Hi I just created a new project using ASP.NET Core 1.0 and Entity Framework Core 1.0.This is  my project structure:</p>

<p><a href="https://i.stack.imgur.com/fW9fp.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/fW9fp.png" alt="enter image description here"></a> </p>

<p>I wish to avoid adding a referenece to DataAccess layer because all calls must go threw manager layer in order to keep things decoupled and I consider that the WebApi layer should not have any knowledge of what DataAccess technology I am using. If there is any way to not add a reference to <code>Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"</code> please let me know I tryed adding it in the Commercify.DataAccess.Catalog but received an error that stated is not supported class in libraries.</p>

<p>I have created in Commercify.DataAccess.Catalog the following dbContext:</p>

<pre><code>  public class CatalogDbContext: DbContext
{
    public CatalogDbContext(DbContextOptions&lt;CatalogDbContext&gt; options) 
        : base(options)
    { }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(@"Server=(local)\SQLEXPRESS;Database=Commercify;Trusted_Connection=True;");
    }

    public DbSet&lt;CategoryEntity&gt; Categories { get; set; }
}
</code></pre>

<p>Now I want to be able to add a migration to that end I installed:
in Commercify.WebApi the following assemblies:</p>

<pre><code>   "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
     ...
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final"
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
  },
</code></pre>

<p>What I want now is to add a migration and in order to do that I executed the following:</p>

<pre><code>dotnet ef migrations add Init
</code></pre>

<p>And I got the following error:</p>

<blockquote>
  <p>No DbContext was found in assembly 'Commercify.WebApi'. Ensure that you're using the correct assembly and that the type is neither abstract nor generic.</p>
</blockquote>

<p>I remembered that back when dnx was used you could add a -p command and point ef to the project where your dbContext exists so I tryed executing this </p>

<pre><code>dotnet ef migrations add Init -p Commercify.DataAccess.Catalog
</code></pre>

<p>And I got the following error:</p>

<blockquote>
  <p>Unrecognized option '-p'</p>
</blockquote>

<p>How can I execute a migration tools for a dbContext that is not in startup project?</p>