【问题标题】:Dynamic resultset with dapper on 3.53.5 上带有 dapper 的动态结果集
【发布时间】:2012-07-30 07:19:11
【问题描述】:

我有一个存储过程调用返回一个预先未知字段的记录集。出于某种互操作的原因,我需要让它在 3.5 上运行,所以我没有任何动态支持。 dapper 中是否有一些内置解决方案?我自己一个也没找到。 如果没有这样的解决方案,动态创建一个公开我要获取的属性的类型是否有意义(并且它是否有效)? 编辑 我设法通过在 c# 3.0 中创建一个动态对象来添加一个完全外部的解决方案(无需调整原始代码库)。 Here is the extension dapper code and here the factory for the dynamic object.

【问题讨论】:

    标签: c#-3.0 dapper micro-orm


    【解决方案1】:

    嗯,实际上dapper 中的dynamic 支持是通过ExpandoObject 实现的,基本上只是一个字典。在 3.5 的情况下,调整现有代码以返回 IDictionary<string,object> 而不是 dynamic 将非常简单

    【讨论】:

    • 同意,但是假设我不想碰代码,那我提出的想法呢?
    • @FelicePollano 我真的不想为此而走TypeBuilder 路线。这里的用例是什么?你想用这些对象做什么? UI 数据绑定? (根据你对强类型的倾向,在这里猛烈抨击)
    • 用例有点儿 c**p,调用一个 SP 并从结果中选择一个字段。要调用的 SP 和要选择的字段都来自另一个查询。我同意 IDictionary 会很好,但我不想处理修改后的简洁代码库...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多