0

コードファーストのアプローチを使用して、Entity Framework 5 と POCO クラスを使用するアプリケーションがあります。

このようにして、すべてのデータベース テーブルを Poco クラスでモデル化し、モデルを (EDMX のものではなく) より適切に制御できるようにします。

アプリケーションは正常に動作していますが、WCF レイヤーを追加したいので、n 層アーキテクチャで動作します。

これを行うための最良のアプローチは何ですか?

私は WCF には精通していますが、データセットを返す ADO.NET には精通しています。最高のパフォーマンスを得るには、XML の代わりに JSON を返すことができると読んでいたので、JSON オブジェクトをクライアントに返す Entity Framework を使用して WCF レイヤーを実装する方法について調べることができる例があれば、専門家から知りたいと思います。

ガイドに感謝します。

4

1 に答える 1

1

カスタム クラスを作成するか、エンティティ フレームワーク クラスを使用する場合、そのような変更はありません。シリアル化する必要があるクラスの上に [DataContract] を配置し、サービスでシリアル化する必要がある [DataMember] を配置するだけです。

たとえば。

[DataContract]
public class Test
{
   [DataMember]
   public string field1 {get; set;}

   [DataMember]
   public string field2 {get; set;}
}

WCF サービスを作成するには、以下のコードを追加するだけです。

それはサービスインターフェースになり、クラスに実装するだけで済みます。

    [OperationContract]
    [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    List<test> GetTest();

お役に立てば幸いです。:)

于 2013-05-31T21:02:39.940 に答える