私はかなり普通だと思っていることをやっています(私は個人的にこれを行う必要はありませんでしたが) 「ノー・ブレイナー」の道が進むだろうが、まだそれを見つけることはない。それは本当にイライラしている。WFFデータを使用したWPFアプリケーション - EF、Linq2SqlまたはWCFデータサービス - なし「Easy」と表示される
データ指向のビジネスアプリケーションであるWPFアプリケーションを作成します。私のデータは、標準のSQL Server 2008データベースを持つリモートIISサーバー(私が管理している)から来るので、Webサービス/ WCFは進歩しているようです。リモートサービスは、(WPFクライアントの)ユーザー名/パスワードログインを使用して安全(合理的)にする必要があります。
私はサードパーティのORM製品を使いたくないのですが、サービスとデータベースの間のデータレイヤーが非常に単純なORMタイプの機能に対応できると期待しています(データを手作りしたくない検索および永続化レイヤ)。 Imは非常にシンプルなアプリケーションになるので、並行性についてはあまり心配していません。
私のオプションは、次のいずれかのように見える:
- ADO.NET Entity FrameworkのLinq2Sql
- WCFの上になし、さらに調査に
WCF Data Servicesの
1)ADO.NETエンティティフレームワーク - Ive WCFでオブジェクトをシリアライズするさまざまな問題が発生しました。私がPOCOエンティティを生成して使用しようとしても、カスタム属性を持つサービスコントラクトを装飾して常にエラーにならないようにする必要があります。フラットなオブジェクトグラフ以上に手作業をしなければならないようです。 EFは単にサービスを介して公開されるようには設計されていないようです。
2)Linq2Sql - これはEFよりはるかに良いとは思われません。私はあまりにも多くのものをハンドクランクする必要があるようです。 IveはデザイナーとSQLMetalを試しましたが、何も「うまくいく」とは思われません。
3)WCF Data Servicesは - これはそれの顔に良いオプションのように思えるが、私はちょうど、サービス層の上に「生で」私のSQLデータベーステーブルを露出してるよう本質的に思えます。私はこの技術の専門家ではありませんが、潜在的に危険なアプローチのように思えます。その上で、アクセスセキュリティを標準としてサポートしているようです(認証を必要とするようにハックする必要があります)。
私が言ったように、このシナリオでは頭がおかしくない解決策が必要なように感じますが、私の頭はまだ傷ついています。私は.NETテクノロジで多くのことをやったことがありますが、この分野が私の理解にはちょっとした穴を表していますので、私のコメントや前提が単純であれば謝ります。
もちろん、EFやLinq2SQLの 'ハッキーな'長距離ラウンドが私ができることばかりである場合もあります。この場合、私は自分の袖を巻き上げることができ、より洗練されたソリューションを見逃してしまった。
ご迷惑をおかけして申し訳ございません。
私は、新しいアプリケーションEFは、L2Sではなく、移動する方法に同意します。しかし、L2SはPOCOをサポートしています(それは最初からそうしていました)。ちょうどgoogle 'LINQ to SQL POCO'。 – Steven
@スティーブン - それを知らなかった。そしてもう一度私はしばらくL2Sに触れていない - 私はEFのグループです。 :) – RPM1984
はい、それは自己追跡entitesが進む方法かもしれないようです。私は良いランナウト(リンクを参照してください)を見つけて、彼らに試してみましょう - ありがとう http://blogs.msdn.com/b/adonet/archive/2009/06/22/feature-ctp-walkthrough-self- entity-for-the-entity-framework.aspxのためのtracking-entities –