新人SEの学習記録

14年度入社SEの学習記録用に始めたブログです。気づけば社会人3年目に突入。

学習記録:.NET、AOJ

[学習記録] .NET

内容:3章 データアクセス技術(続き)

ADO.NET Entity Frameworkによるデータアクセス

概要
  • ADO.NET Entity Framework
    • .NET Framework 3.5 SP1の機能の一つとして搭載
    • リレーショナルデータベースのデータモデルを概念モデルとして定義
    • 概念モデルに対してクエリを発行
新たなデータモデルが必要な理由
  • データ量の増加と複雑化
    • データを処理するアプリケーションの理解と開発・保守が困難に
    • リレーショナルデータモデルは、格納時の整合性やパフォーマンスを最適化するもので、言語から利用するのに最適でない
    • リレーショナルデータモデルとオブジェクトデータモデルをマッピングするコードは全体の3〜7割を占める
    • 開発生産性を低下させる大きな要因、「インピーダンスミスマッチ問題」と呼ばれる
    • この問題を解決するために登場したのがADO.NET Entity Framework
Entity Data Modelの簡単な作成方法
  • Visual Studioでの手順
    • ADO.NET Entity Data Modelを追加
    • データベースから生成を選択
    • データ接続の選択でデータベースを選択
    • バージョンの選択
    • データベースオブジェクトを選択
    • Entity Data Modelデザイナーが開く
    • コードを書く
static void Main(stirng[] args) 
{
    var db = new compEntities();
    var emp = from e in db.employee where e.emp_id == "012345" select e;
    foreach (var e in emp)
    {
        Console.WriteLine(e.name);
    }
}
ADO.NET Entity Frameworkアーキテクチャ
  • Entity Data Model(EDM)
  • EntityClientデータプロバイダー
    • Entity SQLと呼ばれるクエリ言語を用いてEDMに対してのデータアクセスを提供
    • DataReaderを使ってシリアル形式でデータを読み込むことが可能
  • Object Services
    • EDMで定義されたエンティティをオブジェクトデータモデルのエンティティオブジェクトとして構築
    • C#VBなどのプログラミング言語から利用可能
    • 状態管理、変更の追跡、ID解決、変更のデータベースへの反映などの支援機能も

[学習記録] AOJ

今日までの解答

  • Introduction to Programming I : 44問
  • Algorithms and Data Structures I:20問
  • 合計:64問