LINQあるいは[ADO.NET Entity Framework]

そもそもLINQあるいは[ADO.NET Entity Framework]はこれからどうなっていくのでしょうか。
[ADO.NET Entity Framework]に対して、多くのテスターが不信任を出しています。
http://japan.zdnet.com/sp/feature/07microsoft/story/0,3800083079,20376043,00.htm

それでもマイクロソフトは[ADO.NET Entity Framework]の開発を進めていくそうです。
[ADO.NET Entity Framework]のいい解説書もない中、今この技術に飛びつくのは得策でしょうか。
もう少し時間がたてば答えがはっきりするでしょう。

いまそのことは横に置いて、勉強中の私がこの時点で理解している限りで、この技術の俯瞰図を描いてみようと思います。

リレーショナルデータベースの問い合わせ、変更等の操作の方法として、リレーショナルDBが考案されて以来SQLがあります。SQLはデータベースを直接操作します。

ADO.NETでは、DBとの非接続の技術が導入されました。すなわち、一度プログラムでメモリ上(Dataset)にデータを取り込んで(DBの接続を切断し)、その後でまとめてDBに返す方法です。これもアプリケーションプログラムでDBを直接管理します。

[ADO.NET Entity Framework]でも直接DBを操作する方法は残っていますが(EntityClient)、その上にビジネスロジックのEntityを操作することでDBそのものを操作をする方法が提案されました。
その操作手段として、まずEntitySQLというT-SQLに似た文字列式があります。EntitySQLはこのどちらのレイヤでも動作します。

これに対して[LINQ to Entity]はいわゆるLINQ構文で、VS2008ではインテリセンスが作動しますし、コードの生産性は非常に高まると思われます。

私は[ADO.NET Entity Framework]についてはまだ初心者ですが、自分で書いてみると、ADO.NETで一つのクエリを発行するのに、コネクションを開き、データセットを定義し…とかの前準備が沢山必要であることを考えるといかに少ないコードですむかということを痛感します。

細かいことはまだわからないことが多々ありますが、(プロジェクトによっては)十分使う価値があると思います。

error: コピーできません !!