0

有没有办法DynamicClass从 WCF 方法返回一个类型的对象数组?

我在我的 WCF 服务中使用动态 Linq 库,以便根据select客户的请求来处理数据库表的列。客户端代码应如下所示:

//client side code
string whereClause = "FeatureId >= 6 and FeatureId <= 180";
string selectClause = "New(FeatureName as Name, FeatureId as Id)";
client.RequestAsync("Feature", "FeatureDB", whereClause, selectClause);

Feature是我只想从中获取select两列的表的名称,即。FeatureNameFeatureId,满足where子句中的条件。

在这里,问题是查询在服务器上运行良好,但 WCF 无法将其发送回客户端。我的猜测是未声明仅定义选定列的动态创建的类DataContract,因此 WCF 无法使用它。

那么这个问题有什么解决办法吗?

或者有什么替代方案?目标是,我不想返回数据库表的所有列,因为客户端不需要所有列。因此,我认为将所有列发送回客户端没有任何意义,客户端无论如何都会丢弃它。

4

2 回答 2

0

您可以通过使用反射来使用适当的属性装饰您的字段来解决此问题,但是这对于使用您的 WCF 服务的任何客户端进程可能仍然存在问题,因为您的服务合同的生成部分将是不确定的,即模式中的 xs:any。

最好尽可能尝试并强烈键入您的 WCF 合同。

于 2011-06-08T13:38:25.093 回答
0

您是否考虑过实施WCF 数据服务

于 2011-06-08T14:35:34.650 回答