gpt4 book ai didi

c# - DbContextOptionsBuilder 找不到 ASP.NET Core 1.1 Web API 项目

转载 作者:行者123 更新时间:2023-12-03 03:07:37 24 4
gpt4 key购买 nike

我正在尝试将 Entity Framework Core 1.1 添加到我的项目中,并使用连接字符串从 Azure 数据库获取数据。我尝试阅读 https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 上的更改他们说,我应该在 Startup.cs 文件中执行此操作以连接到数据库:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder
.UseSqlServer(
"connection string",
options => options.EnableRetryOnFailure());
}

但它只是给了我一个错误:

The type or namespace 'DbContextOptionsBuilder' could not be found...

'Startup.OnConfiguring(DbContextOptionsBuilder): No suitable method found to override.

我可以添加 using Microsoft.EntityFrameworkCore; 这将使 DbContextOptionsBuilder 的错误消失,但随后 .UseSqlServer 出现错误:

'DbContextOptionsBuilder' does not contain a definition for 'UseSqlServer' and no extension method ...

这是我的 dotnet.csproj 文件 dotnet.csproj

如何解决此问题,以便我可以连接到 Azure 上的数据库并获取数据?

提前致谢!

最佳答案

您提到的博客文章可能有点令人困惑。他们正在谈论您的 DbContext 或 Startup 中某个位置的 OnConfiguring 方法。您的示例混合了两个世界(您希望 DbContext OnConfiguring 方法位于 Startup 中)。

首先添加包Microsoft.EntityFrameworkCore.SqlServer

假设您想使用 Startup.cs,它将如下所示:

    public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<YourDbContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});
}

您可以在 appsettings.json 中定义连接字符串:

{
"ConnectionStrings": {
"DefaultConnection": "Data Source=.;Database=<your db>;User Id=;Password="
}
}

关于c# - DbContextOptionsBuilder 找不到 ASP.NET Core 1.1 Web API 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com