gpt4 book ai didi

.net - 使用 EFCore 和 Identity for Core

转载 作者:行者123 更新时间:2023-12-04 12:39:40 26 4
gpt4 key购买 nike

在过去的几天里,我一直在与身份系统和 Entity Framework 核心相结合。在揭示我的问题之前,这里有一些信息:

  • Entity Framework Core 不支持延迟加载,这意味着我通过说明要包含哪些项目来使用预加载
  • 为了说明我想要检索对象的哪些项目,我覆盖了每个存储库中的一个方法(检索的属性目前是常量)
  • 我使用的身份系统配置为:
    services.AddIdentity<ApplicationUser, ApplicationRole>(options =>
    {
    options.Cookies.ApplicationCookie.AutomaticChallenge = false;
    }) .AddUserManager<UserManager>()
    .AddRoleManager<RoleManager>()
    .AddUserStore<UserStore>()
    .AddRoleStore<RoleStore>()
    .AddEntityFrameworkStores<ApplicationDbContext, int>()
    .AddDefaultTokenProviders();

  • 现在回到问题本身:

    我想使用身份系统来生成 token 、获取用户等,但我无法在 UserManager 上进行预加载。对象本身,因为它的方法返回 Task<ApplicationUser>Include()方法本身需要 IQueryable (做急切加载)。能够同时使用急切加载和 UserManager 的一般方法是什么? ?

    最佳答案

    最简单的方法可能是直接调用 UserManger.Users。像这样:

    ApplicationUser user = await userManager.Users.Include(s => s.Sales).Where(e => e.Email == "t@t.net").FirstOrDefaultAsync();

    关于.net - 使用 EFCore 和 Identity for Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44355332/

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