Я делаю проект в ASP.NET CORE 1.0.0, и я использую EntityFrameworkCore. У меня есть отдельные сборки, и моя структура проекта выглядит следующим образом:
ProjectSolution
-src
-1 Domain
-Project.Data
-2 Api
-Project.Api
В моем Project.Api
есть класс Startup
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ProjectDbContext>();
services.AddIdentity<IdentityUser, IdentityRole>()
.AddEntityFrameworkStores<ProjectDbContext>()
.AddDefaultTokenProviders();
}
DbContext
находится в моем проекте Project.Data
public class ProjectDbContext : IdentityDbContext<IdentityUser>
{
public ProjectDbContext(DbContextOptions<ProjectDbContext> options) : base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var builder = new ConfigurationBuilder();
builder.SetBasePath(Directory.GetCurrentDirectory());
builder.AddJsonFile("appsettings.json");
IConfiguration Configuration = builder.Build();
optionsBuilder.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection"));
base.OnConfiguring(optionsBuilder);
}
}
Когда я пытаюсь выполнить первоначальную миграцию, я получаю эту ошибку:
"Ваш целевой проект" Project.Api "не соответствует вашей сборке миграции" Project.Data ". Либо измените целевой проект, либо измените сборку миграции. Измените сборку миграции с помощью DbContextOptionsBuilder. Например. options.UseSqlServer(connection, b => b.MigrationsAssembly("Project.Api")). По умолчанию сборка миграции является сборкой, содержащей DbContext. Измените целевой проект на проект миграции с помощью раскрывающегося списка проекта консоли диспетчера пакетов по умолчанию или выполнив "dotnet ef" из каталога, в котором находится проект миграции. "
После того, как я увидел эту ошибку, я попытался выполнить эту команду, расположенную в Project.Api
:
dotnet ef --startup-project../Project.Api --assembly "../../1 Data/Project.Data" migrations add Initial
и я получил эту ошибку:
"Unexpected value '../../1 Domain/Project.Data' for option 'assembly'"
Я не знаю, почему я получаю эту ошибку, когда пытаюсь выполнить команду с параметром -assembly.
Я не могу создать начальную миграцию из другой сборки, и я искал информацию об этом, но не получил никаких результатов.
У кого-нибудь были похожие проблемы?