EF Core 2.1 内存数据库不更新记录

2024-06-23

我正在使用内存数据库提供程序进行集成测试,但是我似乎无法更新记录。我已经针对真实的 SQL 数据库运行了相同的代码,并且一切都得到了很好的更新。这是我的测试装置代码。

测试夹具:

public class TestFixture<TStartup> : IDisposable
{
    private readonly TestServer _testServer;
    public HttpClient TestClient { get; }
    public IDatabaseService DbContext { get { return _testServer.Host.Services.GetService<DatabaseService>(); } }

    public TestFixture() : this(Path.Combine("src")) { }

protected TestFixture(string relativeTargetProjectPatentDir)
{
    Environment.SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Testing");

    var builder = new WebHostBuilder()
        .ConfigureServices(services =>
        {
            services.AddDbContext<DatabaseService>(options =>
                options.UseInMemoryDatabase("TestDB")
                .EnableSensitiveDataLogging());
        })
        .UseEnvironment("Testing")
        .UseStartup<Startup>();

    _testServer = new TestServer(builder)
    {
        BaseAddress = new Uri("http://localhost:5010")
    };

    TestClient = _testServer.CreateClient();
    TestClient.BaseAddress = _testServer.BaseAddress;
}

    public void Dispose()
    {
        TestClient.Dispose();
        _testServer.Dispose();
    }
}

我花了一天的大部分时间在谷歌上搜索这个问题,但没有遇到任何其他人谈论它,所以我假设这可能是我的问题而不是 EF bug。我确信有人会注意到您无法更新的数据库。


更新适用于 Singleton,但我有 CQRS 架构,为了检查条目是否在 e2e 测试中更新,我必须重新加载条目

Context.Entry(entity).Reload();

我希望这可以帮助别人

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EF Core 2.1 内存数据库不更新记录 的相关文章

随机推荐

  • 我可以使用文本编辑器(例如 Sublime Text 2)调试 Grails 应用程序吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • rshd.c 源代码中缺少 pam_appl.h 和 pam_misc.h

    我正在研究一个CentOS 5 5 操作系统 它显示错误 security pam appl h 和 security misc h 文件丢失 实际上我的 rshd c 没有加载 PAM 模块 可能是通过放置这个库 它可以帮助我很好地工作我
  • 授予对 Snowflake 中特定未来表的访问权限

    我目前正在使用 Fivetran 将数据传输到 Snowflake 中 数据到达后 DBT 每 6 小时运行一些简单的已保存查询 这些查询在架构中显示为表 但是 各种角色的权限不断被重置 他们无法再访问我授予他们查看权限的该架构中的表 我怀
  • 这个空白区域实际上是开发工具无法识别的空白区域吗?

    根据 CSS 规范规则 content box 包含块的宽度等于 7 个水平属性的总和 左外边距 左边框宽度 左内边距 宽度 右内边距 右边框宽度 右外边距 在下面的示例中 如果上述规则成立 则右侧 300px 必须被视为 margin r
  • QDateTime::fromstring( __DATE__, "MMM d yyyy") 返回无效

    解析MSVC 预定义 DATE 也许结合 TIME 宏与 QDateTime fromstring 不返回任何内容 无效的 QDateTime 对象 为什么 From http msdn microsoft com en us librar
  • SQLite Changes() 函数报告在某些删除语句中更改了 0 行

    我最近发现了CHANGES 内部可用的功能SQLite http www sqlite org 我正在我的 Android 代码中执行类似以下操作 db execSQL sqlStatement argumentArray int resu
  • 我的启动画面出现问题

    所以我开始设置一个闪屏 显示 5 秒 然后转到我的主菜单 我认为我在此过程中标记了错误 现在我的应用程序被强制关闭 我很确定这是我的活动和清单的问题 DragonFruitActivity java package com Dragon F
  • 按特定顺序运行 Windows 服务

    是否可以更改 Windows 服务的顺序或运行一项又一项服务 我想要这个的原因是 我的 IIS 配置位于共享驱动器上 当我重新启动服务器时 它首先运行 IIS w3wp 服务 但无法启动它 因为此时共享网络驱动器不可用 所以我想先完成网络服
  • 从 CVS 存储库获取所有修订

    我已经设置了正确的 CVS 根目录 在这个根目录中我有一个存储库 包含许多文件 我特别感兴趣的是 其中一个文件 我们称之为 test tex 现在我想获得所有不同的版本 来自存储库的该文件的 有什么命令可以用来做到这一点吗 或者我需要将它们
  • 使用 powershell 从 Tfs 获取工作项存储

    如何使用 powershell 从 TFS 获取 WorkItemStore 我尝试过以下方法 function get tfs param string ServerName http MyServer 8080 tfs begin pr
  • 使用嵌入资源打开 Excel 工作簿文件

    我正在使用 Microsoft Office Interop 打开 Excel 文件 该文件被放置在一个特殊的文件夹中 工作簿代码从该文件夹中读取该文件 现在 要求是Excel文件可以放在任何地方 我认为最好的方法是将 Excel 文件作为
  • 从元素中动态解除 ng-click 的绑定:angularjs

    我有一个具有 ng click 事件的元素 单击它会添加一个工作正常的 div 我想要的是添加 div 后删除 ng click 一种方法是使用 ng if div span i add a div span div div class d
  • numpy:如何一次填充结构化数组中的多个字段

    非常简单的问题 我有一个包含多个列的结构化数组 我只想用另一个预先存在的数组填充其中的一些 但不止一个 这就是我正在尝试的 strc np zeros 4 dtype x int y int z int x np array 2 3 str
  • 使用 istream 参数读取的 istream 函数

    我试图理解这段代码 istream read istream is Sales data item double price 0 is gt gt item bookNo gt gt item units sold gt gt price
  • E/Surface: getSlotFromBufferLocked:未知缓冲区:0xab7519c0

    我的应用程序有问题 没有在mysql中插入数据 应用程序没有错误 橙色单消息日志是 E Surface getSlotFromBufferLocked unknown buffer 0xab7519c0 我希望你可以帮助我 谢谢 这是 An
  • 如何从客户端的 javax.ws.rs 实体获取纯 XML

    我有一个REST客户端创建一个XML实体通过Entity entity myObject MediaType APPLICATION XML TYPE 之后我打电话webTarget request buildPost 如何获取请求正文XM
  • 检索给定用户发表评论的所有帖子,Ruby on Rails

    我有用户 帖子和评论 用户只能对每个帖子发表一条评论 class User lt ActiveRecord Base has many posts has many comments end class Post lt ActiveReco
  • 如何修复“无法读取 null 的属性‘addEventListener’”错误[重复]

    这个问题在这里已经有答案了 我正在从 Mozilla 开发者网络 MDN 学习 javascript 我在猜数字游戏中遇到错误 该错误在第 46 行显示 Uncaught TypeError Cannot read property add
  • Android:单元测试

    需要一些建议 我有一个应用程序 我需要写一些单元测试 但我真的不知道要测试什么 我已经测试了设置和所有首选项 这很简单 人们通常还会测试什么 假设我有 3 项活动 主要的一个是列表活动 当您单击列表项时 它会将您转发到第二个列表活动 并且在
  • EF Core 2.1 内存数据库不更新记录

    我正在使用内存数据库提供程序进行集成测试 但是我似乎无法更新记录 我已经针对真实的 SQL 数据库运行了相同的代码 并且一切都得到了很好的更新 这是我的测试装置代码 测试夹具 public class TestFixture