Webサービスを作成しましたが、C#とLINQを使用してデータベースからオブジェクトを作成しています。データベース内のテーブルは、対応するオブジェクトと同様に、互いにリレーションシップを持ちます。WebServiceからオブジェクトをシリアル化するときに、オブジェクトにクライアントの参照がありません
しかし、Webサービスにアクセスしているクライアントでは、関係はなくなりました。これは、シリアル化に何か問題があることを信じさせる。シリアル化を動作させるには、LINQオブジェクトを編集してシリアライズモードを "一方向"に変更し、アソシエーションをAccess => publicの代わりに子プロパティの下に設定します(そうでなければ循環参照エラーが発生します)。
これで、クライアントのオブジェクト参照にアクセスできなくなりました。誰もそれを解決する方法を知っていますか?それは解決可能ですか?私のレシピとカテゴリー間の関係を与える
Recipe r = new Recipe();
r.RecipeHasCategories();
:
例は、私のWebサービスでは、私がこれを書い傾けます。これはクライアントでは機能しません!私がアクセスできるのは、そのレシピに固有の属性(例:名前と説明)です。
ヘルプ?
私はそれを試しましたが、動作させることができませんでした。メソッドの.Include()は、LINQオブジェクトには存在しません。 – stinaq
あなたはどのLINQプロバイダーを使用していますか? EFを使用している場合は、エンティティコンテキストの各「テーブル」( 'ObjectQuery')に' Include'メソッドを持たなければなりません。 'Include'を早めに使う必要があります。なぜなら、' IQueryable'を取得するともうメソッドが存在しないからです。 –
vsで提供されているLINQ to SQLを使用していて、Include()メソッドが見つかりません。物事をたくさん回そうとしましたが、そこにはありません! – stinaq