【问题标题】:SqlList<DynamicPoco> return dynamic type structure from Stored ProcedureSqlList<DynamicPoco> 从存储过程返回动态类型结构
【发布时间】:2014-07-02 20:01:15
【问题描述】:

首先我要感谢你拯救了 Gotham。

我正在调用存储过程

    dbConn.SqlList<UNKNOWN>("exec MY_SP 122254")

但我不知道SP返回的数据的类型,因为它可以根据输入的参数值而改变。

很遗憾,我无法更改底层 SPROC 并为它们提供固定的返回类型。

有人知道在不知道其结构的情况下映射(比方说)“通用对象”的方法吗?

谢谢...蝙蝠侠!

【问题讨论】:

  • OrmLite 只会填写返回的属性。您可以将所有可能的属性放在类上,并使其可以为空,以防它们未被返回。

标签: c# servicestack ormlite-servicestack


【解决方案1】:

即使蝙蝠侠没有出现,我也是自己找到的。下次我会打开 BatSignal

我刚刚使用了“Massive”Orm(下面的链接),它使用 ExpandoObjects 并在运行时将数据映射到类型。

https://github.com/robconery/massive

    var massiveModel = new DynamicModel(dbConn.ConnectionString);
    var connection = new SqlConnection(@"Data Source=127.0.0.1;Initial Catalog=TEST;User ID=as;Password=;Application Name=BRUCE_WAYNE");
        connection.Open();
    var massiveConnection = connection;
    var tmp = massiveModel.Query("exec MY_SP 4412 '20131016' ", MassiveConnection).ToList();

顺便说一句,我将发布另一个问题,因为我的存储过程返回 2 个数据表。这是链接:Servicestack ORMLite/Massive managing multiple DataTables with Expandos / Dynamic?

HTH

【讨论】:

    猜你喜欢
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 2022-06-16
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多