2011-07-18 6 views
0

私は非常に奇妙な問題に直面しています。私は3つのテーブルを持っています。私はLINQをWCFのSQLに使用しています。WCFから2レベルのリレーショナルデータを返す

  1. Number
  2. RankRankIdプライマリキー)
  3. CategoryRank
(また Rankテーブルにリンクされている RankId外部キーを持っている)(これは Rankテーブルにリンクされている RankId外部キーを有します)

私はNumberテーブルからトップ10のデータを返すWCFを使用しています。 n.Rank.Number(nはNumberクラスのオブジェクト)とn.Rank.CategoryRank(WCF側)を見ると、データが正しく入力されていることがわかります。しかし、クライアント側でがnullの場合、n.Rank.Number(私のデータが表示されています)をチェックします。

私はList<Number>とデータを返します。私も負荷オプションを使用してみましたが、動作しませんでした。クライアント側でx.Rank.NumberHasAssignedOrLoadedValuesが真であるのは、x.Rank.CategoryRankの場合はfalseです。

私のシリアル化モードはUnidirectionalで、子プロパティもリレーショナルテーブル間で真です。

誰かが私にこのことを教えてもらえますか?

よろしく、

Viresh

+0

**私たちに**あなたがサーバー側で使用しているLinq-to-SQLクエリを表示できますか? –

答えて

1

数がLINQtoSQLある場合は、おそらく、クライアントとそのタイプを共有する必要がない代わりに、DataMembersとのDataContractでカスタムタイプを作成し、マップあなたを入力し、生成しましたリフレクションまたはAutoMapperのようなものを使用して、Numberからこのカスタムタイプに必要な値を設定します。サービスの戻り値は

です。
List<CustomNumberType> instead. 

n.Rank.CategoryRankがシリアル化されていないことは明らかです。

関連する問題