You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无法在DbContextOptionsBuilder上调用UseInMemoryDatabase方法?

解决DbContextOptionsBuilder找不到UseInMemoryDatabase的问题

你遇到的这个错误原因很明确:UseInMemoryDatabase是EF Core内存数据库提供者专属的扩展方法,它并不包含在EF Core的核心包或者SqlServer提供者包里,你的项目目前没有安装对应的内存数据库NuGet包,所以编译器找不到这个方法。

具体解决步骤:

  1. 安装匹配版本的内存数据库NuGet包
    你的项目使用的是EF Core 1.1.5版本(从Microsoft.EntityFrameworkCore.SqlServer的版本可以看出),必须安装同版本的Microsoft.EntityFrameworkCore.InMemory包,保证版本一致性避免兼容性问题:

    • 使用Package Manager Console执行:
      Install-Package Microsoft.EntityFrameworkCore.InMemory -Version 1.1.5
      
    • 或者使用.NET CLI执行:
      dotnet add package Microsoft.EntityFrameworkCore.InMemory --version 1.1.5
      
    • 也可以直接修改你的.csproj文件,在<ItemGroup>中添加以下引用:
      <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="1.1.5" />
      
  2. 确认using指令存在
    确保你调用UseInMemoryDatabase的代码文件顶部已经添加了:

    using Microsoft.EntityFrameworkCore;
    

    (你的ProductContext类文件已经加了,但要检查使用DbContextOptionsBuilder的那个文件有没有加)

额外说明:

如果你之后需要尝试SQLite(你提到无法使用SQLite),同样需要安装对应的提供者包Microsoft.EntityFrameworkCore.Sqlite,版本也要保持1.1.x系列,和现有EF Core组件版本匹配。

内容的提问来源于stack exchange,提问作者Yusuf Cum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:51:30