0

Entity Frameworks ORM の上に構築された WCF サービスを作成しています。

サービスの 2 つのクライアントは、Web アプリケーション (クライアントではない) と Windows サービスです。

過去にRepositoryPatternを使用して、サービス内のCRUDコードを簡素化しました。WCFでこれを行うことは可能ですか?

CRUD を実行する必要があるオブジェクトが十数個あるので、理想的には次のような ServiceContract が必要です。

IQueryable<T> GetAll();
IQueryable<T> FindBy(System.Linq.Expressions.Expression<Func<T, bool>> predicate);
virtual void Add(T entity);
virtual void Delete(T entity);
virtual void Edit(T entity);
virtual void Save();

この種のことは WCF で可能ですか? より良い方法はありますか?

4

1 に答える 1

1

WCF Data Services を使用します。SOAP ではなく OData (REST) を使用しますが、すぐに必要なものを提供します。標準の SOAP WCF サービスでは、式ツリーのシリアル化全体を SOAP リクエストに書き込み、それをサーバー上の Linq クエリに再構築する必要があります。

その他のオプションは ASP.NET Web-API で、IQueryalbeそのままクライアントで使用することもサポートしています。

于 2012-06-13T20:00:06.200 に答える