Dapper 抛出“DynamicMethod 的类型所有者无效”。

2023-12-28

所以我尝试使用 Dapper.net 并且我很喜欢它。我不喜欢的是,当我尝试批量插入实体时,出现以下错误:

DynamicMethod 的类型所有者无效。

在 System.Reflection.Emit.DynamicMethod.Init(字符串名称, MethodAttributes 属性、CallingConventions 调用约定、 类型 returnType、类型 [] 签名、类型所有者、模块 m、布尔值 SkipVisibility、布尔透明方法、StackCrawlMark& stackMark) 在 System.Reflection.Emit.DynamicMethod..ctor(字符串名称,类型 returnType、Type[] 参数类型、类型所有者、布尔值(skipVisibility) 在Dapper.SqlMapper.CreateParamInfoGenerator(身份标识, 布尔值 checkForDuplicates、布尔值 removeUnused、IList1 literals) in D:\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs:line 3033 at Dapper.SqlMapper.GetCacheInfo(Identity identity, Object exampleParameters, Boolean addToCache) in D:\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs:line 2138 at Dapper.SqlMapper.<QueryImpl>d__611.MoveNext()中 D:\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs:第 1578 行 System.Collections.Generic.List1..ctor(IEnumerable1 集)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable1 命令超时,可为空1 commandType) in D:\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs:line 1479 at Dapper.SqlMapper.Query(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable1 命令超时,可为空1 commandType) in D:\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs:line 1418 at NinjaEvaluation.Data.Database.DapperWrapper.<>c__DisplayClass41.b__3(Sql连接 sqlConnection、SqlTransaction 事务)中 c:\ Projects \ InHouse \ ninjaevaluation \ NinjaEvaluation \ NinjaEvaluation.Data \ Database \ DapperWrapper.cs:行 52 在 NinjaEvaluation.Data.Database.DapperWrapper.Invoke(Action`2 行动)在 c:\ Projects \ InHouse \ ninjaevaluation \ NinjaEvaluation \ NinjaEvaluation.Data \ Database \ DapperWrapper.cs:行 68

当我像这样运行查询时,这种情况发生在完全正常的情况下:

        string sql = @" INSERT INTO XXX
                        (XXXId, AnotherId, ThirdId, Value, Comment)
                        VALUES
                        (@XXXId, @AnotherId, @ThirdId, @Value, @Comment)";

        var parameters = command
            .MyModels
            .Select(model => new
            {
                XXXId= model.XXXId,
                AnotherId= model.AnotherId,
                ThirdId= model.ThirdId,
                Value = model.Value,
                Comment = model.Comment
            })
            .ToArray();

...

sqlConnection.Query(sql, parameters, commandType: commandType, transaction: transaction)

I found 以下SO线程 https://stackoverflow.com/questions/8705325/dapper-execute-a-command-multiple-times-and-linq-and-toarray由有同样问题的人开始,但问题似乎是 .NET 版本(3.5),但我正在运行 .NET 4.5,我无法弄清楚问题是什么。

有什么建议么?


当我使用接口而不是类时遇到了这个错误:

Query<MyObject>工作,同时Query<IMyObject> did not

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

Dapper 抛出“DynamicMethod 的类型所有者无效”。 的相关文章

随机推荐

  • ASP.NET 全球化:Culture="auto" 页面指令导致中性文化崩溃?

    我遇到了使用内置全球化工具的 ASP NET 应用程序崩溃的情况 在具有 Culture auto 指令的 ASP NET 页面上 使用中性文化作为浏览器语言 例如 zh Hans 的用户将产生以下异常 文化 zh Hans 是一种中立文化
  • Scrapy hxs.select() 未选择所有结果

    我正在尝试通过scrapy来获取赔率here http www paddypower com football football matches premier league 目前只是尝试使用以下蜘蛛记录结果 def parse self
  • 复合 JS 关系访问

    我定义了 2 个模式对象 如下所示 用于 mongodb var User describe User function property name String property email String property passwor
  • OpenMP 分发中的 SECTIONS 指令如何工作?

    在OpenMP中使用时omp sections 线程是否会被分配到内部的块中sections 或者将每个线程分配给每个部分 When nthreads 3 pragma omp sections pragma omp section pri
  • 失踪的铁轨宝石

    我知道这个问题已经在这个网站上被问过多次 但在深入研究其他答案后 我仍然对如何解决这个问题一无所知 我刚刚从生产服务器中提取了 Rails 应用程序的副本 但出现以下错误 缺少 Rails 2 3 4 gem 请gem install v
  • 如何在 Flutter 中禁用 FlatButton 的启动突出显示?

    我有一个扁平按钮 我不希望单击按钮时突出显示 我尝试将飞溅颜色更改为透明 但这不起作用 这是我的 FlatButton 的代码 Widget button new Container child new Container padding
  • PHP 如何将数据追加到序列化数组中

    如果我有一个序列化数组 如何向其附加更多值 我应该先反序列化它 gt 添加数据然后再次序列化它吗 Yes function addItem serializedArray item a unserialize serializedArray
  • 为什么 golangticker.Stop() 在tickerTest1中不起作用?

    我知道Stop函数无法关闭通道 我只是对两个不同的结果感到困惑tickerTest1 and tickerTest2 package main import time log func tickerTest1 ticker time New
  • 如果我只有任务 ID,我可以获得 celery 任务的参数吗?

    如果我有原来的任务 我可以从中得到论据task request args 但是如果我只有任务 ID 有没有办法获取参数 看起来没有办法从AsyncResult对象 据我所知 没有办法重新创建任务 我想这样做是因为我有一个前端可以轮询后端以获
  • Clang 无法在 std::function 实例化中扩展参数包

    编译的代码片段std c 17作为唯一的编译器标志 使用 GCC 9 1 成功编译 Godbolt https godbolt org z QKJomx 使用 Clang 8 0 0 发出编译器错误 代码片段下方的错误 Godbolt ht
  • SQL Server 性能提示[重复]

    这个问题在这里已经有答案了 可能的重复 SQL WHERE 子句是否短路计算 https stackoverflow com questions 789231 is the sql where clause short circuit ev
  • 使用 python/PIL 自动裁剪图像

    谁能帮我弄清楚我的图像自动裁剪脚本中发生了什么 我有一个带有大透明区域 空间的 png 图像 我希望能够自动裁剪该空间并保留必需品 原始图像有一个方形画布 最好是矩形 仅封装分子 here s the original image 通过谷歌
  • Prolog - 简化导数

    所以我这个学期才开始使用 Prolog 并完成了实现一个非常基本的作业d function variable derivative 我这样做是这样的 d X X 1 d C X 0 atomic C C X d X E X E X E 1
  • 错误:没有为控制器定义“_sonata_admin”

    我按照文档添加自定义路线 当我单击列表视图中的按钮时 出现错误 没有 sonata admin为控制器定义 UserController以及当前的路线resetPassword 文档 http sonata project org bund
  • C#:调用 Bitmap.save() 后 Dispose() 一个 Bitmap 对象?

    我有这个 Bitmap bmp new Bitmap image image processing bmp Save path fileName 我想知道是否需要打电话bmp Dispose 在此代码之后 提前致谢 我会用using块和Pa
  • 处理过期航空里程的流程

    我正在开发一个需要处理过期航空里程的应用程序 里程可以使用 但如果在特定日期之前未使用 里程就会过期 我想确保我的里程数已过期 但如果已使用 则不要过期 因此 我必须在过期之前检查在给定日期范围内是否使用了足够的里程 以下是我的初步想法 有
  • UIWebView YouTube 嵌入视频未加载

    我在获取通过 UIWebView 嵌入到我正在制作的 iOS 应用程序中的视频时遇到一些问题 iframe 播放器加载完全正常 但是当我点击播放按钮时 白色旋转器出现一秒钟然后消失 只留下一个黑框如果我触摸黑框 我会得到标题和 i 按钮 但
  • 从数据库输出到文本区域

    我试图通过这样做将数据库字段值放入文本区域 但它不起作用
  • 尝试将创建的文本文件作为电子邮件附件发送 - 从默认文件夹

    我正在尝试一些简单的事情 例如创建一个文本文件 然后将其作为附件发送 虽然如果我使用 SD 卡它工作正常 但我不知道将它放在 标准数据文件夹 中的哪里 所以我的应用程序实际上适用于没有 SD 卡的每个人 并且该文件有点不可见 当这段代码有效
  • Dapper 抛出“DynamicMethod 的类型所有者无效”。

    所以我尝试使用 Dapper net 并且我很喜欢它 我不喜欢的是 当我尝试批量插入实体时 出现以下错误 DynamicMethod 的类型所有者无效 在 System Reflection Emit DynamicMethod Init