Intellij Rider Entity Framework 在控制台抛出错误时不起作用
Intellij Rider Entity Framework does not work on the console throwing error
使用 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): error MSB4006: There is a circular dependency in the target dependency graph involving target "GetEFProjectMetadata". [D:\rider project\WebApplication1\Web
Application1\WebApplication1.csproj]
Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core project. If you're using custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.
令我惊讶的是,我可以使用 Visual Studio
轻松迁移,而不是 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 add
、dotnet ef migrations add AddProductReviews
、dotnet ef list
。
每次尝试都会以错误结束。
D:\riderproject\WebApplication1\WebApplication1\obj\WebApplication1.csproj.EntityFrameworkCore.targets(4,5): error MSB4006: There is a circular dependency in the target dependency graph involving target "GetEFProjectMetadata". [D:\rider project\WebApplication1\Web Application1\WebApplication1.csproj] Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core project. If you're using custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.
令我惊讶的是,我可以使用 Visual Studio
轻松迁移,而不是 Rider
中的控制台。
问题的解决方法是转到项目所在的文件夹,然后从那里调用命令。