【发布时间】:2017-12-15 08:58:01
【问题描述】:
我在 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”的定义 并且没有扩展方法“AddDbContext”接受第一个参数 可以找到类型“IServiceCollection”(您是否缺少使用 指令还是程序集引用?)
我安装了 NuGet 包 Npgsql。我也尝试安装 NuGet 包 EntityFramework,但收到错误:
包还原失败。回滚“MyProject”的包更改。
这是我问题的根源吗?我应该安装其他库吗?
在这个question 过程中使用了 AddEntityFramework() 和 AddEntityFrameworkNpgsql(),但这两个在我的项目中也没有被编译器识别。
【问题讨论】:
-
代码顶部的实体框架命名空间是否有适当的 using 语句?
-
@calingasan:编译器并未暗示缺少 using 语句。相反,唯一可用的建议是生成类。
-
嗯,是的,错误信息提示缺少 using 语句。
-
这似乎是多项目解决方案中可能发生的事情。请记住,如果您的 startup.cs 项目依赖于解决方案中的另一个项目(可能是 EntityFrameworkCore 库所在的位置),您必须先编译依赖项,然后查看它是否正常。任何情况下都需要在主项目startup.cs中加入using语句。
标签: c# .net postgresql .net-core visual-studio-2017