如何将存储过程结果转换为特定类型

时间:2012-12-15 09:48:51

标签: c# asp.net entity-framework

我在SQL Server中有一个存储过程并将其转换为我的实体模型中的函数,现在如何将我的函数的输出转换为C#中的给定类型,如int,string等等?

示例:

Testentities test=new TestEntities();
object d=test.FunctionTest("Params");

2 个答案:

答案 0 :(得分:1)

到一个字符串:

Testentities test = new TestEntities();
object d = test.FunctionTest("Params");
string result = d.ToString();

到int:

Testentities test = new TestEntities();
object d = test.FunctionTest("Params");
int result = Convert.ToInt32(d);

.NET Convert类可以转换为许多不同的类型。

但请注意:当然你需要确定目标类型是正确的类型,即便如此 - 你需要为转换可能失败的事实做好准备 - 把这是try...catch块!

更新:在您发现结果实际上是List<object>后,您需要执行以下操作:

Testentities test = new TestEntities();
object d = test.FunctionTest("Params");

List<string> results = new List<string>();

foreach(object o in d)
{
    results.Add(o.ToString());
}

可以使用int值完成同样的操作(只需在Convert.ToInt32()循环中使用foreach

答案 1 :(得分:1)