首页 新闻 赞助 找找看

调用WCF 返回实体类中含有Dictionary<string,object>

0
悬赏园豆:10 [已解决问题] 解决于 2013-01-16 08:59

object 为DataTable ,调用报错求大神详解

aehyok的主页 aehyok | 小虾三级 | 园豆:1212
提问于:2013-01-08 16:58
< >
分享
最佳答案
1

可以使用object的..。别听乱说

收获园豆:10
彬彬@科比 | 初学一级 |园豆:43 | 2013-01-08 21:49

我觉得也可以用,简单类型的object我试过是可以的,但是就是我实体类中

Public Class Test

{

  public Dictionary<string,object>  Dic{get;set;}

}

然后我object里面放的是DataTable这样就有问题了,不知道怎么实现

aehyok | 园豆:1212 (小虾三级) | 2013-01-08 22:56

@aehyok: 为table(属性)加个名称tablename..保你可以

彬彬@科比 | 园豆:43 (初学一级) | 2013-01-09 11:07
其他回答(4)
0

不能用 Dictionary<string,object> ,必须用 Dictionary<string,DataTable>。

Launcher | 园豆:45045 (高人七级) | 2013-01-08 17:15

  为什么呢   

支持(0) 反对(0) aehyok | 园豆:1212 (小虾三级) | 2013-01-08 17:20

@aehyok: 因为WCF就是这么设计的,数据契约不能定义成 object 或包含 object 类型。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-01-08 17:26
0

可以考虑返回list<model>  这个model可以序列化就行了

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-08 17:29
0

他需要可以序列化为XML的类.

56180825 | 园豆:1756 (小虾三级) | 2013-01-08 19:14

我觉得也可以用,简单类型的object我试过是可以的,但是就是我实体类中

Public Class Test

{

  public Dictionary<string,object>  Dic{get;set;}

}

然后我object里面放的是DataTable这样就有问题了,不知道怎么实现

支持(0) 反对(0) aehyok | 园豆:1212 (小虾三级) | 2013-01-08 22:56
1

如果是简单类型是可以直接传的,如果是自定义类型只要指定object的可能类型就可以了,

[KnownType(typeof(A))]//A为object的可能类型

[KnownType(typeof(B))]//B为object的可能类型

Public Class Test

{

  public Dictionary<string,object>  Dic{get;set;}

}

RyanCheng | 园豆:474 (菜鸟二级) | 2013-01-09 08:59

[KnownType(typeof(A))]//A为object的可能类型

[KnownType(typeof(B))]//B为object的可能类型

这里面AB也就是Object可以是DataTable吗

支持(0) 反对(0) aehyok | 园豆:1212 (小虾三级) | 2013-01-09 12:13

还给回复吗

支持(0) 反对(0) aehyok | 园豆:1212 (小虾三级) | 2013-01-13 22:08

@aehyok: 可以

支持(0) 反对(0) ITailor | 园豆:194 (初学一级) | 2013-01-17 12:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册