あとらすの備忘録

チラ裏のメモ帳

ASP.NET MVCのBootstrap3を4にアップデート

概要

ASP.NET MVCでプロジェクトを作成するとデフォルトでBootstrap 3.3.1が入った状態で作成されます。
Bootstrap4を使いたかったのでメモ。

環境

アップデート

Nugetパッケージ管理からBootstrapを選択。
バージョンを指定して更新。

f:id:HM_Atlas:20180616095514p:plain

依存関係のjQuery(デフォルトで入ってる)popper.jsも一緒に入れてくれる。

注意事項としてBootstrap3で使用していたclass(?)がBootstrap4では使えなくなっているので
デフォルトだとナビゲーションバーが表示されなくなるので修正する必要がある。

雑感

ASP.NET Core MVCを触り始めてASP.NETの方でBootstrap4にしてたので4がいいな~って思ってたけど
方法わからなくて復習がてらASP.NET MVCでもっかいやってみた。
ASP.NET Coreでやるときってどーするんでしょうね。

C# EntityFrameworkのCodeFirstでCRUD(Read)

  • 概要
  • ソース
  • DataStoreの作成
  • 前提
  • 単一Entityから全データを取得する。
    • 期待する結果
    • 実行結果
  • 複数Entityからデータを読み込む
    • 期待する結果
    • 実行結果
  • ネストしたEntityからデータを読み込む
    • (補足)LINQ toEntitiesとラムダ式
    • 期待する結果
    • 実行結果
      • (補足)ネストしたEntityの読み込み

概要

CRUDのReadをやってみる。

即時実行、遅延実行などLINQならではの醍醐味がありますが、LINQに関しては詳しく解説しないのでご注意ください。
また本記事のサンプルコードはToList()プロパティを使用して即時実行しております。

ソース

github.com

続きを読む

SQLServerに日本語データをInsertすると文字化けする。

  • 概要
  • 環境
  • SQLでInsert
    • 文字化けした
    • 文字化け解決
  • 参考サイト様
  • 雑感

概要

タイトルまんまです。
SQLServerに日本語データをInsertすると文字化けして「??????」と言った風になります。
解決したのでメモ。

環境

続きを読む

C# EntityFrameworkのCodeFirstでCRUD(Create)

  • 概要
  • ソース
  • DataStoreの作成
  • 前提
  • Create基本形
    • Entityの状態について
    • 期待する結果
    • 実行結果
  • Create応用形
  • PS:テストデータの追加

概要

CRUDのCreateをやってみる。

LINQ to Entitiesの知識が必要になります。
LINQに関しては詳しく解説しないのでご注意ください。

ソース

github.com

今回使用するデータについては全てインサートのサンプルメソッドを作成しておりますので一部しか紹介しません。

後はコード読んでくださいのセルフサービスです。
ちなみにクソコードなのでプルリク待ってます。

続きを読む

C# EntityFrameworkのCodeFirstでCRUDをやってみる

  • 概要
  • 前提
  • 環境
  • ソース
  • プロジェクト構成
  • 使用するデータについて
  • EntityFrameworkとは?CodeFirstとは?
    • プロジェクトの作成/EntityFrameworkのインストール
    • Entityクラスの作成
    • DbContextクラスの作成
    • Create/Read/Update/Deleteの実行
      • Create
      • Read
      • Update
      • Delete
    • アノテーション
    • 自動マイグレーション
  • 参考サイト様
  • 雑感

概要

海上自衛隊護衛艦情報を元にLINQ to Entitiesの練習を兼ねて書き始めたコードですが
前回、書いたC# EntityFrameworkを使ったDBアクセス コードファースト編の記事が下記で紹介している書籍の内容をパクッているだけだったのでやり直したついでに書き直す次第です。

本記事の内容は「実戦で役立つ C#プログラミングのイディオム/定石&パターン」のChapter13「EntityFrameworkによるデータアクセス」を実践した形のものになります。

2018/05/20 とりあえず公開していますがこの記事は未完成です。
順次追記していきます。

前提

今回の記事では、LINQ to Entitiesやラムダ式の使用方法には特段触れません。
EntityFrameworkを使用してCRUDを行うだけです。

また、コードの記載量の兼ね合いから記事を分割します。
ソース、実行環境等は全て同一です。

続きを読む

C# EntityFrameworkでDbContextクラスを作成する。

  • 概要
  • DbContextクラスの作成
  • 接続するEntityの定義
  • 接続文字列の確認
  • DBにテーブルを作成

概要

DB接続用のDbContextクラスを継承したクラスを作成します。 対象のEntityクラスはこちらの記事で作成した護衛艦クラスを使用します。

続きを読む

C# EntityFrameworkのEntityクラスを作成する。

  • 概要
  • 作成するEntityクラスの全体像
  • Entityクラス
    • 目指すべき姿
    • Entityクラスの作成
    • 護衛艦クラス
    • 護衛隊クラス
      • virtualについて
    • 護衛隊群クラス
    • 艦種クラス
      • 艦種について補足
    • 艦級クラス
    • 護衛艦クラスの修正

概要

  • 今回作成するEntityクラスのリレーションの説明
  • サンプルプログラムで使用するデータの説明
  • コードの説明

断りになりますが、記事を書いている人は趣味プロの人なのでDB設計等を業務で行ったことがありません。
リレーションがおかしかったり正規化が全然なってないなどあると思います。
また、アノテーションの部分で触れますが初回はカラムの文字数制限等は設定しません。

作成するEntityクラスの全体像

f:id:HM_Atlas:20180507015001p:plain

作成するクラスは以下の5点です。

クラス名 概要
護衛艦クラス 護衛艦の基本情報 ex.所属隊,艦種,艦名,艦船番号etc
護衛隊クラス 護衛艦が所属する隊 ex.第1護衛隊,第2護衛隊
護衛隊群クラス 護衛隊が所属する群 ex.第1護衛隊群,第2護衛隊群
艦種クラス 艦種を識別する艦種記号 ex.DD(汎用護衛艦),DDG(ミサイル護衛艦)
艦級クラス 型を識別する艦級コード ex.ひゅうが型,こんごう型

護衛艦いづれかの護衛隊に所属しており、さらに護衛隊は護衛隊群に所属しています。
また、護衛艦情報の一部として護衛艦クラスから護衛艦の艦種・艦級を特定出来ます。

各艦のデータについてはWikipediaを参照し、海上自衛隊の編成については下記のサイト様を参考にしました。

続きを読む