2012-01-10 13 views
1

おはよう、WSDLからEntity Frameworkクラスを生成

私は、Entity Frameworkを使用してデータベースと通信している人物から引き継いでいます。これがどのように行われたかは、Enterprise Architectで作成したすべてのオブジェクトを記述するWSDLが存在することです。これは、Visual Studioのサービス参照としてインポートされます。

私はこれで少し混乱しています。それは賢明なアプローチかどうか疑問に思っていました。 WSDLにはサンプルポート、バインディング、およびサービスがあり、コード内ではまったく使用されていないようです。これらは、WSDLが正しくインポートされるために存在しますか?

私はGoogleを見て、このようにWSDLから作成する人の例を見ることができなかったので、一般的なアプローチであるとは確信できませんでした。

これが完了すると、データの表現がクラスとして表示されます。その後、データベースにテーブルを作成するDbContextから継承しているクラスに追加したようです。これは正しいです?

+0

各オブジェクト構造がxmlスキーマで定義されているWSDLを再度確認してください。その部分をWSDLから抽出すれば、あなたはうまくいくでしょう – BigMike

答えて

1

WSからVSへデータを取得するためだけにWSDLを使用しているのであれば、もちろん間違いです。 WSDLはWebサービスを記述します - ポートとバインディングはサービス記述のために必須です。

EAプロフェッショナル版以上では、モデルのコード生成を直接サポートしています。どの言語を使用するかを設定するだけで済みます(プロジェクトブラウザーでは、クラスとインターフェースを含むフォルダーを選択し、プロパティーで言語を設定します)、ツール>ソースコードエンジニアリング>パッケージソースコードの生成を使用できます。

+0

モデルは、すべての型が<< XSDComplexType >>のような型を持ちますが、代わりに普通のクラスである必要があり、あなたが言うように生成する必要があります。 WSDLを作成してService Referenceとしてインポートするのではなく、コードを作成してDbContext内のクラスとして使用しますか?だから、ソースコード内で多くの変更が必要ではありません。しかし、それはダミーのポートとバインディングなどはもはや私のweb.configにする必要はないという意味ですか? – Firedragon

+0

はい。 Webサービスを呼び出さない場合、WSDLは必要なく、生成されたコードを直接使用できます。 –

+0

このようにした人は、なぜこれがこのように行われたのか尋ねるためにもうここにはいません。そのため、WSDLとしてデータモデルを記述する理由を理解しようとしていました。有用だったが、そこにmabyeがないと思われる。 – Firedragon

関連する問題