![](/img/trans.png)
[英]AddDbContext is not a member of IServiceCollection .Net Framework
[英]AddDbContext not available in IServiceCollection in .NET Core
我在 Visual Studio 2017 中有 .NET Core 2 项目。我正在尝试添加 (Postgresql) 数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨这条消息:
IServiceCollection 不包含“AddDbContext”的定义,并且找不到接受“IServiceCollection”类型的第一个参数的扩展方法“AddDbContext”(是否缺少 using 指令或程序集引用?)
我安装了 NuGet package Npgsql。 我还尝试安装 NuGet package EntityFramework,但我收到错误消息:
Package 恢复失败。 回滚“MyProject”的 package 更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了 AddEntityFramework() 和 AddEntityFrameworkNpgsql() 程序,但我的项目中的编译器也无法识别这两个程序。
我在Visual Studio 2017中有.NET Core 2项目。我正在尝试添加(Postgresql)数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨以下消息:
IServiceCollection不包含“ AddDbContext”的定义,找不到可以接受类型为“ IServiceCollection”的第一个参数的扩展方法“ AddDbContext”(是否缺少using指令或程序集引用?)
我安装了NuGet软件包Npgsql。 我也尝试安装NuGet软件包EntityFramework,但收到错误消息:
程序包还原失败。 回滚“ MyProject”的程序包更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了AddEntityFramework()和AddEntityFrameworkNpgsql()程序,但是在我的项目中,编译器无法识别这两个程序。
我在Visual Studio 2017中有.NET Core 2项目。我正在尝试添加(Postgresql)数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨以下消息:
IServiceCollection不包含“ AddDbContext”的定义,找不到可以接受类型为“ IServiceCollection”的第一个参数的扩展方法“ AddDbContext”(是否缺少using指令或程序集引用?)
我安装了NuGet软件包Npgsql。 我也尝试安装NuGet软件包EntityFramework,但收到错误消息:
程序包还原失败。 回滚“ MyProject”的程序包更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了AddEntityFramework()和AddEntityFrameworkNpgsql()程序,但是在我的项目中,编译器无法识别这两个程序。
我在Visual Studio 2017中有.NET Core 2项目。我正在尝试添加(Postgresql)数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨以下消息:
IServiceCollection不包含“ AddDbContext”的定义,找不到可以接受类型为“ IServiceCollection”的第一个参数的扩展方法“ AddDbContext”(是否缺少using指令或程序集引用?)
我安装了NuGet软件包Npgsql。 我也尝试安装NuGet软件包EntityFramework,但收到错误消息:
程序包还原失败。 回滚“ MyProject”的程序包更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了AddEntityFramework()和AddEntityFrameworkNpgsql()程序,但是在我的项目中,编译器无法识别这两个程序。
我在Visual Studio 2017中有.NET Core 2项目。我正在尝试添加(Postgresql)数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨以下消息:
IServiceCollection不包含“ AddDbContext”的定义,找不到可以接受类型为“ IServiceCollection”的第一个参数的扩展方法“ AddDbContext”(是否缺少using指令或程序集引用?)
我安装了NuGet软件包Npgsql。 我也尝试安装NuGet软件包EntityFramework,但收到错误消息:
程序包还原失败。 回滚“ MyProject”的程序包更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了AddEntityFramework()和AddEntityFrameworkNpgsql()程序,但是在我的项目中,编译器无法识别这两个程序。
我在Visual Studio 2017中有.NET Core 2项目。我正在尝试添加(Postgresql)数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨以下消息:
IServiceCollection不包含“ AddDbContext”的定义,找不到可以接受类型为“ IServiceCollection”的第一个参数的扩展方法“ AddDbContext”(是否缺少using指令或程序集引用?)
我安装了NuGet软件包Npgsql。 我也尝试安装NuGet软件包EntityFramework,但收到错误消息:
程序包还原失败。 回滚“ MyProject”的程序包更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了AddEntityFramework()和AddEntityFrameworkNpgsql()程序,但是在我的项目中,编译器无法识别这两个程序。
我在使用Sqlite 时遇到了这个问题。
这解决了我的问题。
如果你的持久层在另一个项目( Class Library
)中,并且你已经在持久层上安装了一个合适的 NuGet 库,比如Npgsql.EntityFrameworkCore.PostgreSQL
,那么build
是必要的,尤其是当你使用VS Code
。 否则,它可能无法识别services.AddDbContext<T>
对于 ASP.Net 核心,从命令提示符。
dotnet 添加包 Npgsql.EntityFrameworkCore.PostgreSQL
对于安装特定版本,dotnet 添加包 Npgsql.EntityFrameworkCore.PostgreSQL --version 6.0.0
使用以下命令将PostgreSQL package具体版本添加到你的项目中
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 6.0.0
以下命令将添加最新的 package。
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
在 Visual Studio 2022 上全新安装 EntityFrameworkCore.SQLServer 和 Design 后出现同样的问题。
重新启动 Visual Studio 成功了!
对于 .net 核心 6,它需要Microsoft.EntityFrameworkCore.Design
对于在多个项目中使用 VS Code 的任何人:
定位您已在其中添加实体框架的项目。
对于 Windows:
我在Visual Studio 2017中有.NET Core 2项目。我正在尝试添加(Postgresql)数据库连接。 这是一个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services.
services.AddMvc();
}
但是编译器抱怨以下消息:
IServiceCollection不包含“ AddDbContext”的定义,找不到可以接受类型为“ IServiceCollection”的第一个参数的扩展方法“ AddDbContext”(是否缺少using指令或程序集引用?)
我安装了NuGet软件包Npgsql。 我也尝试安装NuGet软件包EntityFramework,但收到错误消息:
程序包还原失败。 回滚“ MyProject”的程序包更改。
这是我问题的根源吗? 我应该安装其他库吗?
在这个问题上,使用了AddEntityFramework()和AddEntityFrameworkNpgsql()程序,但是在我的项目中,编译器无法识别这两个程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.