Intellij Rider Entity Framework не работает при ошибке выброса консоли - PullRequest
0 голосов
/ 01 марта 2019

Используя Rider Я пытаюсь выполнить любой вид миграции.Я попытался использовать консоль, потому что Rider не определяет контекст модели.

 <package id="Microsoft.EntityFrameworkCore.Sqlite" version="2.2.2" targetFramework="net472" />
  <package id="Microsoft.EntityFrameworkCore.Sqlite.Core" version="2.2.2" targetFramework="net472" />
  <package id="Microsoft.EntityFrameworkCore.Sqlite.Design" version="1.1.6" targetFramework="net472" />
  <package id="Microsoft.EntityFrameworkCore.Tools" version="2.2.2" targetFramework="net472" developmentDependency="true" />
using System.Collections.Generic;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;

namespace WebApplication1.Models
{
    public class Data : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite("Data Source=db.db");
        }
    }

Я открыл проект в VS и могу легко перенести и обновить базу данных.Проблема возникает, когда я пытаюсь вызвать любую команду на терминале в Rider.Пробовал dotnet ef add, dotnet ef migrations add AddProductReviews, dotnet ef list.Каждая попытка заканчивается ошибкой.

D: \ riderproject \ WebApplication1 \ WebApplication1 \ obj \ WebApplication1.csproj.EntityFrameworkCore.targets (4,5): ошибка MSB4006: существует циклическая зависимость вцелевой граф зависимостей, включающий цель "GetEFProjectMetadata".[D: \ rider project \ WebApplication1 \ Web Application1 \ WebApplication1.csproj] Невозможно получить метаданные проекта.Убедитесь, что это основанный на MSBuild проект .NET Core.Если вы используете пользовательские значения BaseIntermediateOutputPath или MSBuildProjectExtensionsPath, используйте параметр --msbuildprojectextensionspath.

Я удивлен, что могу легко мигрировать с помощью Visual Studio, а не с консоли в Rider.

1 Ответ

0 голосов
/ 15 мая 2019

Решение проблемы - перейти в папку, в которой находится проект, и оттуда вызвать команду.

...