返回对象而不是复杂类型的函数导入

时间:2013-06-25 11:02:34

标签: c# sql entity-framework

我正在使用存储过程构建动态表,因此在添加函数导入时,我希望它返回对象而不是特定类型。可能吗?感谢

2 个答案:

答案 0 :(得分:2)

UDPATE

我已经对此进行了测试但无法正常工作 - 对SqlQuery的调用会返回System.Object。我不打算删除,因为知道这种技术不起作用很有用。


它应该是可能的,但正如@BorisB所说,我不确定你为什么要...

List<dynamic> result = context
    .Database
    .SqlQuery<dynamic>("select * from ......")
    .ToList();

答案 1 :(得分:0)

如果有可能返回对象的类型是什么,以及如何访问其属性?

你不得不在运行时构建EF复杂类型和函数导入,或者使用ModelBuilder构建模型(但你仍然没有数据类),可能可能理论上但它在实践中远远超出了你正在解决的问题。

也许最好直接使用ADO.Net或修改这些SP以将结果作为XML返回,然后由客户端使用(但在XML情况下,您仍然没有返回对象的编译类型,因此没有反序列化,只有XPath)。