Основная проблема asp.net при добавлении первой миграции базы данных

Я использую новое ядро ​​asp.net и имею свои классы и контекст db в sep dll. Я добавил код в соответствии с документами.

public IConfigurationRoot Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc();
        services.AddDbContext<solitudeDContext>(options => 


 options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection") 
  ,b=>b.MigrationsAssembly("solitudedcore")));          
    }

Но я все еще получаю следующую ошибку, когда запускаю следующую команду

миграция dotnet ef добавить firstdb

Ваш целевой проект 'solitudeeccore' не соответствует вашей сборке миграции 'solitudedcore'. Либо измените целевой проект, либо измените сборку миграции. Измените сборку миграции с помощью DbContextOptionsBuilder. Например. options.UseSqlServer (соединение, b => b.MigrationsAssembly ("solitudeeccore")). По умолчанию сборка миграции - это сборка, содержащая DbContext. Измените целевой проект на проект миграции, используя раскрывающийся список проектов по умолчанию в консоли диспетчера пакетов или выполнив команду «dotnet ef» из каталога, содержащего проект миграции.

Я изменил раскрывающийся список проекта и добавил b => b.MigrationsAssembly ("solitudedcore"), как указано здесь, на ядрах EF github https://github.com/aspnet/EntityFramework/issues/7869

Я также включил свой проект для вашей справки.

<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
  <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" />
  <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
  <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" />
  <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" />
  <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.2" />
  <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" />

И мои файлы настроек приложения, как показано ниже

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },

  "ConnectionStrings": {
    "DefaultConnection": "Data Source=DESKTOP-JHIMUM4\\SQLEXPRESS2014;Initial Catalog=solitudeec;Trusted_Connection=True;MultipleActiveResultSets=true"
  }


}

Любые идеи или решения будут оценены.

Здесь вы можете найти макет моего проекта

https://imgur.com/a/oSvr4

Изменить 1

Приведенный ниже человек был действительно прав, это написание dll, но вам также нужно нацелить проект, в котором размещается ваша dll, а не сама dll.

Чтобы создать миграцию в командной строке вызовите

миграция dotnet ef добавить firstdb

и чтобы протолкнуть свои изменения, просто позвоните

обновление базы данных dotnet ef -e Производство


person david    schedule 14.07.2017    source источник
comment
Спасибо за все голоса за людей   -  person david    schedule 15.07.2017


Ответы (1)


В названии сборки миграции есть орфографическая ошибка.

Ваш целевой проект 'solitudeeccore' не соответствует вашей сборке миграции 'solitudedcore'.

person Pankaj Kapare    schedule 14.07.2017
comment
так что я должен изменить - person david; 14.07.2017
comment
Сборка, включающая контекст, является единой, так что это правильно, но я проверю - person david; 14.07.2017
comment
@david: попробуйте изменить solitudedcore на solitudeeccore в функции ConfigureServices. - person Pankaj Kapare; 14.07.2017
comment
царапина, которая сработала, так делает, поскольку вместо этого вы ссылаетесь на проект, на котором размещена ваша dll ;-) как добавить идентификатор, это так же легко, что шаблон по умолчанию не настроен так же, как mvc - person david; 14.07.2017
comment
это позволило мне создать миграцию, но как мне зафиксировать изменения в ядре asp.net? - person david; 14.07.2017