データベース勉強中
仕事で今後使うのでそのお勉強です。
クエリ文をStringで打つのは辛いなーと思っていたらこんなのあったのですね。
ほぼRDB初心者なのでお手柔らかに。
SQLServerのインストール
ダウンロードして、インストールしましょう。
https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads
Visual Studio 2017でLINQ to SQLクラスを使えるように
デフォルトだとインストールされないので、Visual Studio Installerから追加します。
ワークロードの一個右の「個別のコンポーネント」を開き、「LINQ to SQLツール」にチェックつけます。
Visual Studioを起動
以降Visual Studioでのみ操作します。
プロジェクトの作成
コンソールアプリで作成します。
データベースを作る
サーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックします。
ファイル名を入力しOKをクリックします。存在しないファイル名の場合、新規作成の確認画面がでます。
テーブル追加
サーバーエクスプローラー上で先程作成したデータベースの「テーブル」を右クリックし、「新しいテーブルの追加」。
テーブル名はデフォルトではTable
なので、「T-SQLタブ」にSQL文が書かれているので修正しましょう
CREATE TABLE [dbo].[テーブル名]
(
[Id] INT NOT NULL PRIMARY KEY
)
テーブルの項目を入力し、左上の更新をクリックします。
テーブルにデータ追加
サーバーエクスプローラーから作成したテーブルを右クリックし、テーブルデータの表示
。
下記のようなデータを作成しました。
LINQ to SQLクラスを作成。
ソリューションエクスプローラーから新しい項目の追加
。
共通 - データのLINQ to SQLクラスを追加します。
追加すると「データクラスを作成するには、項目をサーバーエクスプローラーまたはツールボックスからこのデザインサーフェイスにドラッグします。」と表示されるので、
サーバーエクスプローラーから先程作成したテーブルをドラッグドロップします。
コンソールに全データを表示
Module Module1
Sub Main()
Dim db As New DataClasses1DataContext
Dim query = From item In db.Table1
Select item
For Each q In query
Console.WriteLine($"{q.Id}:{q.Name}")
Next
'表示結果
'1:Hoge
'2:Fuga
'3:foo
'4:bar
End Sub
End Module
感想
なんだかんだLINQ to SQLの機能がデフォルトでインストールされないところが一番つまずいたかもしれません。
SQLは平文でゴリゴリ書くしかないのかと思って手を付けていなかった部分があるので、
LINQ使えればとっつきやすいかなぁと思いました。