gpt4 book ai didi

c# - Identity asp.net core 3.0 - 找不到IdentityDbContext

转载 作者:太空狗 更新时间:2023-10-30 00:29:30 25 4
gpt4 key购买 nike

我的应用程序与 .NET Core 3.0 版本中断,并出现 IdentityDbContext 的引用错误.我正在查看 Identity on core 3.0 的文档,但这意味着 IdentityDbContext 应该在那里。这是我遇到的唯一错误 DbContext错误。

我有一个非常简单的 API,没有 MVC View ,只有一个返回 JSON 对象的数据服务器。它基于身份,因此它具有用户、角色和声明。它开始利用这一点。我的主要 DbContext 扩展 IdentityDbContext<ApplicationUser>但是在升级后将目标平台切换到 3.0 后,它说它不存在并给我编译错误。有人遇到过这个吗?我错过了什么吗?迁移和重大更改页面似乎没有任何内容可以解决我的问题。

DbContext 看起来像这样:

using System;
using Microsoft.AspNetCore.Identity;
//using Microsoft.AspNetCore.Identity.EntityFrameworkCore; <- this no longer works either
using Microsoft.EntityFrameworkCore; //<- this I had to download as a package
using App.Constants;
using App.Models.Identity;

namespace App.Models
{
public class AppContext : IdentityDbContext<ApplicationUser> //<- error is right here
{
... my models
}
}

最佳答案

ASP.NET Core 3.0 中,Entity Framework CoreIdentity 相关包已从 Microsoft.AspNetCore 中删除。 App 元包。所以你必须单独添加这些包。

将以下 PackageReference 添加到项目的 .csproj 文件中,如下所示:

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0" />
</ItemGroup>

现在它可以工作了!

更多详情:Assemblies removed from the ASP.NET Core shared framework

关于c# - Identity asp.net core 3.0 - 找不到IdentityDbContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58090177/

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