0

それにはいくつかの方法があります。linq クエリをシリアル化できますが、式ツリーのシリアル化を許可する OSS プロジェクトはサポートが不十分なようです。

以下を行うためのより従来の方法はありますか?

// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

ただし、エンティティ生成ユーティリティは使用しません。基本的に、次の疑似コードに似たものを使用したいと考えています。共有 IRepository コントラクトに注意してください。

new ChannelFactory<IRepository<MyEntity>>(myBinding, myUri).CreateChannel()

また、DataSet 全体をエクスポートしないことを好みます。通常のサービスで IQueryable 操作を公開したいだけです。このようにして、スタンドアロンのデータ サービスではなく、IQueryable インターフェイスをビジネス ロジックとより強力に結合できます。

私は OSS ソリューションを受け入れますが、安定していて、軽量で、アクティブで、十分にサポートされ、頻繁に更新されるものを望んでいます。

4

1 に答える 1

0

リポジトリ パターンと多くのカスタム ビジネス ロジックを実装する場合、短期的にはおそらく Web API が最適です。これら 2 つの質問に対するより良いサポートを得ることは、私の WCF Data Services の優先順位リストの非常に高いところにありますが、実際のところ、現時点ではかなり不足しています。

Web API の制限は、OData サポートの完全性です。WCF Data Services の制限は、ビジネス ロジックの挿入/ソフトウェア パターンの容易さであり、時間の経過とともに改善される可能性があります。

とはいえ、読み取り専用サービスを使用している場合、Reflection プロバイダーは、やりたいことのほとんどすべてを実行します。

于 2012-07-24T16:18:02.757 に答える