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

Lamar构造函数选择配置失效问题排查求助

EF Core + Lamar 自定义组件配置问题

我有一个包含独立Migrations、DbContext和UnitOfWork的自定义组件,正尝试升级为使用EF Core与Lamar。

核心目标

  • 未传入DbContextOptions时,使用OnConfiguring中的默认配置;
  • 传入DbContextOptions时,使用传入的配置并忽略OnConfiguring中的默认配置。

需求原因

  • 允许用户配置自定义名称的连接字符串;
  • 允许用户为单元测试配置内存数据库。

当前问题

尝试了三种方案,但均出现以下至少一种情况:

  1. Lamar不遵守构造函数选择的参数配置;
  2. Lamar传入自身的空DbContextOptions,忽略我传入的配置。

已尝试的三种方案

方案1:使用SelectConstructor选项

  • 控制台应用:默认构造函数被正常调用;
  • 单元测试:两个构造函数均被调用,且UseInMemoryDatabase配置被忽略。

方案2:使用Configure.Ctor选项

  • 控制台应用:默认构造函数正常调用;
  • 单元测试:仅默认构造函数被调用,OnConfiguring中的默认配置被错误应用。

方案3:移除默认构造函数

  • 控制台应用与单元测试:DbContextOptions构造函数均被调用,但传入的选项为空。

更新说明

Lamar原作者给出了一些提示,我已调整配置(移除重复的WorkflowComponentDbContext注册,仅保留带SelectConstructor的注册),并移除了默认构造函数,但问题仍存在:Lamar无法保留我传入构造函数选择中的DbContextOptions参数。


内容的提问来源于stack exchange,提问作者Prisoner ZERO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:09:24