×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
MVC5入門 その16 一目でわかるASP.NET MVCアプリケーション開発入門 No1
MVCの勉強用には
・ASP.NET MVC5実践プログラム 秀和システム
・一目でわかるASP.NET MVCアプリケーション開発入門 日経BP
(MSDNのサンプルはこれを使用している)
・VisualC#2013逆引大全 秀和システム
程度しかない。
・後者は入門用としていい本なんだけど、C#2010が対象でC#2013と
かなりの相違がある。前者はある程度MVCを知っていないと、解りにくい
MVC5対象版を早く出版して下さい >> 日経BPさん
現在この本は新品なら1万円以上しています。
(amazonのダウンロードなら1800円だがKindle版は見にくい。。)
そこで、後者をVB2013として変更した場合はどうなるかを試してみた
あくまでも個人のメモ用なので、詳細はMSDNの
「ASP.NET MVCアプリケーション開発入門」を参照
準備として
日経BP社からサンプルデータベースをダウンロードする事
MVCの勉強用には
・ASP.NET MVC5実践プログラム 秀和システム
・一目でわかるASP.NET MVCアプリケーション開発入門 日経BP
(MSDNのサンプルはこれを使用している)
・VisualC#2013逆引大全 秀和システム
程度しかない。
・後者は入門用としていい本なんだけど、C#2010が対象でC#2013と
かなりの相違がある。前者はある程度MVCを知っていないと、解りにくい
MVC5対象版を早く出版して下さい >> 日経BPさん
現在この本は新品なら1万円以上しています。
(amazonのダウンロードなら1800円だがKindle版は見にくい。。)
そこで、後者をVB2013として変更した場合はどうなるかを試してみた
あくまでも個人のメモ用なので、詳細はMSDNの
「ASP.NET MVCアプリケーション開発入門」を参照
準備として
日経BP社からサンプルデータベースをダウンロードする事
PR
MVC5入門 その8 ローカルDB
EntityFrameworkがよく解らないので山田祥寛氏の「ASP.NET MVC入門【バージョン3対応】」
を見ながら進める。防備録である。同氏のASP.NET MVC5も併用しながら確認している
・最も悩んだのがWeb.configで実態はどこかというと
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\MyMvc.mdf;Initial Catalog=MyMvc;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
・App_Dataフォルダ内の アプリ名.MyMvcContextに実態とlogが生成される。
ローカルDBが構成されている
・DBがどこで生成されているかというと
MyMvcInitializerで
Inherits DropCreateDatabaseIfModelChanges(Of MyMvcContext)としてるが CreateDatabaseIfNotExists(無いとき)、DropCreateDatabaseIfModelChanges(変更されたとき)、DropCreateDatabaseAlways(毎回)の指定ができる。 androidみたいですね
・実際にはglobal.asaxのApplication_Startに
Database.SetInitializer(Of MyMvcContext)(New MyMvcInitializer())で実行される
・MyMvcContextが橋渡しをしている
Public Property Books As DbSet(Of Book) ' Booksテーブル
Public Property Reviews As DbSet(Of Review) ' Reviewsテーブル
MyMvcContextのBooks、Reviewsプロパティは、
Books、Reviewsテーブルにアクセスし、
コード単位にBook、Reviewエンティティのインスタンスに割り当てる
という事のようだ
Androidと同じで、パターンととして覚えればいいとおもう
・疑問はIdという意味で
クラス(単数形)は、同名のテーブル(複数形)にマッピングされる
(これもそう覚えればいい)
・プロパティは、同名のテーブル列にマッピングされる主キーは、Id、
または<クラス名>Idという名前がデフォルト
(これは困った、、、業務アプリでは複数KEYが当たり前、、、)
・(例:ReviewId上記以外の主キーを定義するには、Key属性(System.ComponentModel.DataAnnotations名前空間)を付けてプロパティを定義する例Isbn)
(よくわからん)
・nullを許容する値型の列は、null許容型で指定する(例:Priceナビゲーション・プロパティは、同名のエンティティにマッピングされる(例:Reviews
一応DBはこれで生成されるので、次は画面のインタフェース
EntityFrameworkがよく解らないので山田祥寛氏の「ASP.NET MVC入門【バージョン3対応】」
を見ながら進める。防備録である。同氏のASP.NET MVC5も併用しながら確認している
・最も悩んだのがWeb.configで実態はどこかというと
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\MyMvc.mdf;Initial Catalog=MyMvc;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
・App_Dataフォルダ内の アプリ名.MyMvcContextに実態とlogが生成される。
ローカルDBが構成されている
・DBがどこで生成されているかというと
MyMvcInitializerで
Inherits DropCreateDatabaseIfModelChanges(Of MyMvcContext)としてるが CreateDatabaseIfNotExists(無いとき)、DropCreateDatabaseIfModelChanges(変更されたとき)、DropCreateDatabaseAlways(毎回)の指定ができる。 androidみたいですね
・実際にはglobal.asaxのApplication_Startに
Database.SetInitializer(Of MyMvcContext)(New MyMvcInitializer())で実行される
・MyMvcContextが橋渡しをしている
Public Property Books As DbSet(Of Book) ' Booksテーブル
Public Property Reviews As DbSet(Of Review) ' Reviewsテーブル
MyMvcContextのBooks、Reviewsプロパティは、
Books、Reviewsテーブルにアクセスし、
コード単位にBook、Reviewエンティティのインスタンスに割り当てる
という事のようだ
Androidと同じで、パターンととして覚えればいいとおもう
・疑問はIdという意味で
クラス(単数形)は、同名のテーブル(複数形)にマッピングされる
(これもそう覚えればいい)
・プロパティは、同名のテーブル列にマッピングされる主キーは、Id、
または<クラス名>Idという名前がデフォルト
(これは困った、、、業務アプリでは複数KEYが当たり前、、、)
・(例:ReviewId上記以外の主キーを定義するには、Key属性(System.ComponentModel.DataAnnotations名前空間)を付けてプロパティを定義する例Isbn)
(よくわからん)
・nullを許容する値型の列は、null許容型で指定する(例:Priceナビゲーション・プロパティは、同名のエンティティにマッピングされる(例:Reviews
一応DBはこれで生成されるので、次は画面のインタフェース
MVC5入門 その6 Viewの仕組み ViewBag.変数名 ViewData[変数名]
ViewはRazorテンプレートにゆだねる
構文 ViewBag.変数名=値
・ビュー変数
HomeController での定義
Index.cshtmlの記載
@{
ViewはRazorテンプレートにゆだねる
構文 ViewBag.変数名=値
・ビュー変数
HomeController での定義
public ActionResult Index()
{
ViewBag.Hd = "見出し";
return View(); ← ここで表示
}
Index.cshtmlの記載
@{
ViewBag.Title = "見出";
}
<h2>@ViewBag.Hd</h2> ← ここの@にセット
<p>
@Html.ActionLink("編集", "Edit", new { /* id = Model.PrimaryKey */ }) |
@Html.ActionLink("表示", "Details", new { /* id = Model.PrimaryKey */ }) |
</p>
・他の方法
ViewBag.Hd = "見出し";の代わりに
ViewData["Hd"] = "見出し";でも可
・コードナゲット 複数の式やステートメントの記載に使用
@{
・他の方法
ViewBag.Hd = "見出し";の代わりに
ViewData["Hd"] = "見出し";でも可
・コードナゲット 複数の式やステートメントの記載に使用
@{
ViewBag.Title = "見出";
}
・Viewの生成は
テンプレートで色々なパターンを自動生成
ビュー名:アクション名と同じ
テンプレート:表示したいモデル
モデルクラス:レイアウトでモデルを作った時に使用
レイアウトページにチェック
・Viewの生成は
テンプレートで色々なパターンを自動生成
ビュー名:アクション名と同じ
テンプレート:表示したいモデル
モデルクラス:レイアウトでモデルを作った時に使用
レイアウトページにチェック