首先,我要感谢您保存Gotham。
我正在调用存储过程
dbConn.SqlList<UNKNOWN>("exec MY_SP 122254")
但我不知道从SP返回的数据类型,因为它可以根据输入参数值进行更改。
不幸的是,我无法更改基础SPROC并为其提供固定的返回类型。
有人知道如何在不知道其结构的情况下映射(比如说)“通用对象”吗?
感谢蝙蝠侠!
答案 0 :(得分: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();
BTW我会发布另一个问题因为我的存储过程返回了2个数据表。这是链接:Servicestack ORMLite/Massive managing multiple DataTables with Expandos / Dynamic?
HTH