Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

.NET Framework 3.5 SP1で追加されたデータベースアクセステクノロジー

概念モデルに対してプログラミング

Entity Frameworkは、インピーダンス ミスマッチ問題を解決するため、
エンティティを定義し、エンティティ経由でデータベースへアクセスするための手段を提供する技術。

Entity Data Model(EDM)

CSDL、SSDL、および MSL 仕様
http://msdn.microsoft.com/ja-jp/library/vstudio/bb399604.aspx

CSDL

CSDL(Conceptual Schema Definition Language:概念スキーマ定義言語)
概念スキーマ(概念モデル)

MSL

MSL(Mapping Schema Language:マッピング・スキーマ言語)
CSDLとSSDL(モデル間)のマッピング

SSDL

SSDL(Storage Schema Definition Language:ストア・スキーマ定義言語)
ストレージ・スキーマ(ストレージ モデル)

DBファースト、モデルファースト

データベース ファースト 恵みの波紋
https://ogacha.wordpress.com/tag/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9-%E3%83%95%E3%82%A1%E3%83%BC%E3%82%B9%E3%83%88/

モデルファースト

モデル(EDM)からDBMSのスキーマを生成する方法

DBファースト

DBMSのスキーマからモデル(EDM)を生成する方法

批判

エンプラ領域でのミスマッチ

基幹系システムでは以下の理由でミスマッチと判断されることが多い。

内部実装とその動作がブラックボックス

SQLが、LINQ to Entityのエンジンに生成される形であり、
また、内部実装とその動作がブラックボックスになっているため(※1)
それらが明確にならないと設計、チューニング、問題分析などが困難。

従って(特に日本の)エンタープライズ・アプリケーションでは敬遠されている。
これは、JavaのJava8でJPAでHibernateでJinqが敬遠されるのと≒。

スキーマ構造の変更

RAD開発ツールに特有の、保守性の悪さがある。

(逆に言えば、カスタマイズがなければ、スキーマ構造の変更をモデル(EDM)に同期し、変更に迅速に対応できるとも言える。)

参考

MSDN

信任投票

海外は、日本より新技術採用が盛んであり、利用事例が多いとの情報もありますが、賛否両論があるのは変わらない。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS