忍者ブログ
[36]  [37]  [38]  [39]  [40]  [41]  [42]  [43]  [44]  [45]  [46
×

[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社からサンプルデータベースをダウンロードする事
 


拍手

PR
MVC5入門 その9 スキャンフォールディング機能

ここからWEBFormにせよ、ましてや他の言語にせよ
データの表示、更新のコーディングが面倒だがMVCには便利な機能があるようでして
コントローラーで





この要に入力すると

 はい、簡単に出来上がり、、、

驚いた、、、

SQLserverならどうなるのだろう、、、

SQLの実態はどうなるのだろう、肝心のトランザクションは、、
まだまだ疑問多し、山田先生からご教授いただかないと、、、

SQL Serverに接続するならば、「System.Data.SqlClient」という事らしい

拍手

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みたいですね


・実際にはg
lobal.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入門 その7 Viewの仕組み _Layout.cshtml
Viewの仕組み

Shard内のフォルダの_Layout.cshtmlで定義されている
アプリでレイアウトの共通化


 見出し部
    省略
    <div class="container body-content">
        @RenderBody() ← この部分が Index.cshtmlとかの記載部分
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year - マイ ASP.NET アプリケーション</p>
        </footer>
    </div>
 フッター部
 省略

拍手

MVC5入門 その6 Viewの仕組み ViewBag.変数名 ViewData[変数名]
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.Title = "見出";
}

・Viewの生成は
テンプレートで色々なパターンを自動生成
ビュー名:アクション名と同じ
テンプレート:表示したいモデル
モデルクラス:レイアウトでモデルを作った時に使用
レイアウトページにチェック

拍手

カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
フリーエリア
最新CM
[03/10 DORA]
最新TB
プロフィール
HN:
dorabu
性別:
非公開
バーコード
ブログ内検索
P R
Copyright © ドラブーのアンドロイドとIoTなブログ All rights reserved. / Template by 四季. / Material by てんせん.

忍者ブログ [PR]