0

DynamicClassWCF メソッドから型のオブジェクトの配列を返す方法はありますか?

クライアントからの要求に応じて、データベース テーブルの列に、WCF サービスでDynamic Linq Libraryを使用しています。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);

フィーチャーselectは、 2 列のみにしたいテーブルの名前です。句の条件を満たすFeatureNameおよびFeatureIdwhere

ここでの問題は、クエリがサーバー上で正常に実行されることですが、WCF がそれをクライアントに送り返すことができないことです。私の推測では、選択した列のみを定義する動的に作成されたクラスは宣言されていないDataContractため、WCF はそれを操作できません。

それで、この問題の解決策はありますか?

または任意の代替?目標は、クライアント側ですべての列を必要としないため、データベース テーブルのすべての列を返したくないということです。したがって、すべての列をクライアントに送り返す意味はありません。クライアントはとにかくそれを破棄します。

4

2 に答える 2

0

リフレクションを使用してフィールドを適切な属性で装飾することで、これを回避できる場合がありますが、サービス コントラクトの生成されたセクションが非決定的であるため、WCF サービスを使用するクライアント プロセスに問題が生じる可能性があります。 、つまり、スキーマ内の xs:any です。

可能な限り、WCF コントラクトを厳密に型指定することをお勧めします。

于 2011-06-08T13:38:25.093 に答える
0

WCF Data Serviceの実装を検討しましたか?

于 2011-06-08T14:35:34.650 に答える