【问题标题】:Dotnet Core - configuring lazy loading in startupDotnet Core - 在启动时配置延迟加载
【发布时间】:2021-06-17 01:06:54
【问题描述】:

我问了一个问题(我的努力得到了-2,但除此之外)。 only answer 表示我应该通过在 StartUp.cs 中添加延迟加载来使用它。

但是,无论我做什么,我都无法添加它。我按照作者建议的链接的方向以及作者做了什么,在所有情况下我都得到了以下内容。

严重性代码描述项目文件行抑制状态 错误 CS1061 'DbContextOptionsBuilder' 不包含定义 对于 'UseLazyLoadingProxies' 并且没有可访问的扩展方法 'UseLazyLoadingProxies' 接受类型的第一个参数 可以找到“DbContextOptionsBuilder”(您是否缺少使用 指令或程序集 参考?)JobsLedger.API C:\Users\simon\OneDrive\Documents\1.0 - AURELIA\1.0 - JobsLedgerSPA -ASPNET CORE 3.1\JobsLedger.API\Startup.cs 74 活动

如果有程序集参考,我想知道是否有人会指出我正确的方向。

这是我目前根据作者针对该问题建议的链接所做的修改。

    services.AddDbContext<CATALOGContext>(options => options.UseSqlServer(_configuration.GetConnectionString("CatalogConnection"), b => b.MigrationsAssembly("JobsLedger.CATALOG")));
    services.AddDbContext<DATAContext>(options => options.UseLazyLoadingProxies().UseSqlServer(_configuration.GetConnectionString("TenantDbConnection"), a => a.MigrationsAssembly("JobsLedger.DATA")));

如何为“.UseLazyLoadingProxies”配置这些行,因为它目前说这不可用?

【问题讨论】:

  • 你添加了Microsoft.EntityFrameworkCore.Proxies Nuget 包吗?
  • 我没有,所以我这样做了,我仍然无法获得选项。
  • “获得选择权”是什么意思?
  • 我终于得到了这个工作,因为一旦我添加了上面提到的包,我需要更改所有链接的实体,以便它们具有我所做的“虚拟”名称。谢谢大卫G
  • DavidG ...作为答案提交,这样我就可以投票了,这对我有帮助

标签: asp.net-core entity-framework-core


【解决方案1】:

根据 cmets 和我自己对此问题的研究,将 Microsoft.EntityFrameworkCore.Proxies 添加到您的包中,因为它包含您需要添加到数据库上下文选项中的 UseLazyLoading 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2023-02-19
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多