C#からデータベースに簡単にデータを挿入する

EntiytyFrameworkとは

O/Rマッパー

C#に限らずですが、データベースにデータを挿入する処理は何かと面倒です。

  1. データベースをオープン
  2. コネクションを作成
  3. SQLを発行
  4. 1、2の資源を解放

というような手続きてきなことをしなければなりません。

そしてSQLは古い形式の文法なので、オブジェクト指向の高級言語に比べると、直観的に読みづらく、書きづらいです。

それを解消するための試みはいろいろいと行われていて、その一つがO/Rマッパー(オブジェクト/リレーション マッパー)と言われているものです。ここで言うリレーションとはRDBMSのことで、今回使用しているSQL Serverもこれに含まれます。

要は、データベースのデータを、オブジェクト指向言語の中で直接扱えるようにしようというものです。

そしてそのO/RマッパーのC#番がEntityFrameworkというわけです。

EntiytyFrameworkの導入

例によって、Visual Studioのアドオンなので、NuGetから導入することができます。

データベースとアクセスするための部品を自動生成する

EntityFrameworkには、

ソースコード → データベース定義

の順番で実装するコードファースト

データベース定義 → ソースコード

の順番で実装するDBファーストという2つの方法があります。

コードファーストが何かと記事が多くて話題のようですが、今回はDB設計を先におこなうDBファーストを採用します(まだまだ実際の業務では、DB設計をコード設計とは別できちんと行う仕事が多いと思いますし)。

プロジェクトに新しい項目を追加

ADO.NET Entity Data Modelを選択し、適当な名前を付ける

「データベースからEF Designer」を選択し、「次へ」をクリック

「データ接続の選択」で「新しい接続」をクリック

接続のプロパティでLocalDBの情報を入力

サーバー名に「(localdb)\MSSQLLocalDB」と入力すると、「データベース名の選択または入力」で、作成したデータベースが選択できるようになります。

「データ接続の選択」で「次へ」をクリック

接続したいテーブル定義を選択する

ここでは以前作成したBTCOIN_DATAを選択します。

データ格納用テーブルの作成
SQL Server LocalDBにテーブルを作成 Visual Studio Community 2017には、Microsoftのデータベース製品であるSQL Serverの簡易版SQL Server LocalDBがデフォルトで付...

コメント