×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
MVC5入門 その16 一目でわかるASP.NET MVCアプリケーション開発入門 No2
・まずは新規プロジェクトの作成
VBで実行したはC#をお奨めします。(ネット上のサンプルはほとんどC#)
ASP.NET WEBアプリケーションを選択
テンプレートはMVC
・ADO.NET Entity Frameworkでモデルをデータベースから作成
モデルでミグクリック >> 追加 >> 新しい項目の追加
ADO.NET Entity DataModelを選択
モデル名はMvcModel1
データベースからEFDesignerを選択 (ちなみにCodeFirstならこれからの作業をすべてやってくれる)
この辺りはSQLServerの知識が必要です
次に文字列をWEB.CONFIGに含むかどうか聞いて来るが
ここでは「はい」
接続名 mvcdbEntities
テーブルにチェックを入れ
モデル名 mvcdbModelで完了
これでモデルの出来上がり
ここで必ずリビルドを実施
・次にコントローラ
コントローラで右クリック >> コントローラーの追加
Entity FrameWorkを使用した、、、を選択

モデルクラス TProduct
データコンテキストクラス mvcdbEntities
adminControllerで作成
エラーになる?
モデル作成後にリビルドを忘れているから、、、
MSDNのサンプルではVIEWでIndexの作成となるが
MVC5ではすでに作成されている
http://localhost:ポート名/adminで実行すると

表示した
editを押すとちゃんと遷移、、、
次はコントロールするコードを確認する
・まずは新規プロジェクトの作成
VBで実行したはC#をお奨めします。(ネット上のサンプルはほとんどC#)
ASP.NET WEBアプリケーションを選択
テンプレートはMVC
・ADO.NET Entity Frameworkでモデルをデータベースから作成
モデルでミグクリック >> 追加 >> 新しい項目の追加
ADO.NET Entity DataModelを選択
モデル名はMvcModel1
データベースからEFDesignerを選択 (ちなみにCodeFirstならこれからの作業をすべてやってくれる)
この辺りはSQLServerの知識が必要です
次に文字列をWEB.CONFIGに含むかどうか聞いて来るが
ここでは「はい」
接続名 mvcdbEntities
テーブルにチェックを入れ
モデル名 mvcdbModelで完了
これでモデルの出来上がり
ここで必ずリビルドを実施
・次にコントローラ
コントローラで右クリック >> コントローラーの追加
Entity FrameWorkを使用した、、、を選択
モデルクラス TProduct
データコンテキストクラス mvcdbEntities
adminControllerで作成
エラーになる?
モデル作成後にリビルドを忘れているから、、、
MSDNのサンプルではVIEWでIndexの作成となるが
MVC5ではすでに作成されている
http://localhost:ポート名/adminで実行すると
表示した
editを押すとちゃんと遷移、、、
次はコントロールするコードを確認する
PR
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社からサンプルデータベースをダウンロードする事
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はこれで生成されるので、次は画面のインタフェース