Intellij Rider实体框架无法在控制台上抛出错误

时间:2019-03-01 13:34:17

标签: c# entity-framework rider

我尝试使用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 adddotnet ef migrations add AddProductReviewsdotnet 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 :(得分:0)

解决问题的方法是转到项目所在的文件夹,然后从那里调用命令。