パソコン情報

【やって学ぶASP.NET Core MVC 】実際にWEB上で使える「見積書・請求書作成システム」を作る!?(第2回目)

 

ASP.NET開発ド素人が「見積書・請求書作成システム」を作る第2回目となっております。

 

https://pctips.jp/server/aspnet-core-mvc-1/

 

 

前回は、作業者用マスターテーブルとWEB上での追加、編集、削除などができるサイトを「新規スキャフォールディングアイテム」をつかって自動でViewsにフォームを作成しました。

今回は、あと2つのマスターテーブルである、顧客マスターと商品マスターを作成してみたいと思います。

 

 

 

テーブル作成する流れ

 

第1回目でWoker_Masterというテーブルをデータベースに作成して、それをWEB上からデータを追加修正削除するまでをやりましたが、そこまでの流れをまとめておきます。

 

参考

(1)Modelsディレクトリ内に、クラス(テーブル名)を作成

※クラス名の頭文字は大文字にしないとマイグレーション時にエラーになるので注意。

(2)作成したクラス内にフィールド追加する

(3)新規スキャフォールディングアイテムの追加

(4)appsettings.jsonにてSqlServer接続情報等を設定

(5)マイグレーションする

 

 

 

2つのマスターテーブル作成

前回のマスターテーブルを作成した方法で、顧客マスター(Customor_Master)と商品マスター(Product_Master)を作成してみました。

 

 

 

 

まずは、Coutomor_masterのクラスを作成しました。

データの型を何にしていいのか?だったのでId以外は、stringにしちゃいまいた。

また、E-mailだとエラーがでるので、Emailというようにハイフンを削除しました。

 

 

namespace Quotation_Invoice.Models
{
    public class Customor_Master
    {
    public int Id { get; set; }
    public string CompanyName { get; set; }
    public string Postal { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string Name { get; set; }
    public string Phone { get; set; }
    public string Fax { get; set; }
    public string Email { get; set; }
    public string Remarks { get; set; }
    }
}

 

そして、「新規スキャフォールディングアイテムの追加」を実行して、マイグレーションという流れですが、もう一つのテーブルも作成してしまおうかと思いProductr_masterのクラスもここを作成しました。

 

 

namespace Quotation_Invoice.Models
{
    public class Product_Master
    {
    public int Id { get; set; }
    public string ProductName { get; set; }
    public string Code { get; set; }
    public string Item { get; set; }
    public int Price { get; set; }
    }
}

 

そして、「新規スキャフォールディングアイテムの追加」を実行して、マイグレーションという流れです。

 

ツール」>>「NuGetパッケージマネージャー」>>「パッケージマネージャーコンソール」と移動して、

Install-Package Microsoft.EntityFrameworkCore.Tools
Add-Migration Initial
Update-Database

 

もしかすると、既にWoker_Master作成時に、Install-Pakageの部分はやっているので必要ないのかもしれません。

 

 

Add-Migrationでエラー

 

The name 'Initial' is used by an existing migration.」とうエラーがでました。

どうも、Initialって名前だと使えないよって言っているようです。

じゃ、Initial2にして再度マイグレーションをやったらできました。

つまり、Add-Migration Initialがコマンドのひとまとまりだと思い込んでいましたが、

 

ココに注意

Add-Migration ”マイグレーション名”  って事でした!

 

 

デバッグの開始で動作確認

マイグレーションを実行した後、データベースのアップデートを実行すると、データベースにテーブルが作成されました。

動作確認の為と、ダミーのデータを入力するために、デバックの開始で試してみました。

 

 

 

https://pctips.jp/server/aspnet-core-mvc-3