質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

1回答

2469閲覧

ASP .NET MVC5でEntity Frameworkのtableを生成したい

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2016/02/19 05:24

Windows7, VisualStudio2015, ASP .NET MVC5の組み合わせで開発しています。
「ASP .NET MVC5実践プログラミング」(しゅうわシステム)の導入編2-4-3(pp.49-60)にしたがってEntity Frameworkを練習しています。

Models\Member.cs
Models\MvcBasicContext.cs
Models\MvcBsicInitilizer.cs
Views\Begin\List.cshtml
をつくりました。

Views\Web.config
Grobal.asax.cs
Controllers\BeginControler.cs
を設定しました。

これでdebug実行したところ、

Grobal.asax.cs
Database.SetInitializer<MvcBasicContext>(new MvcBasicInitializer());
のところにbreakpointをおいていますが、実行されません。

Controllers\BeginControler.cs
での
private MvcBasicContext database = new MvcBasicContext();
public ActionResult List()
{
return View(database.Members);
}
は実行できているのですが、database.Membersには値が入っていないようです。

あと気になるのは、
Grobal.asax.cs
で、
Database.SetInitializer<MvcBasicContext>(new MvcBasicInitializer());
は呼んでいますが、

Models\MvcBsicInitilizer.cs
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace WebApplication7.Models
{
public class MvcBasicInitializer : DropCreateDatabaseAlways<MvcBasicContext>
{
protected override void Seed(MvcBasicContext context)
{
var members = new List<Member> {
new Member {
Name = "山田リオ",
Email = "rio@wings.msn.to",
Birthday = DateTime.Parse("1980-06-25"),
IsMarried = false,
},

と設定したSeedというMethodがどこからも呼ばれていないように思えることです。

App_Data\MvcBasic.mdfも作成できていません。

整理すると、
Q1 Seedを実行する方法
Q2 Controllers\BeginControler.csの
private MvcBasicContext database = new MvcBasicContext();
database.Members
は空でよいのか? どのタイミングでデータを入れて初期化すればよいか?
となるかと思います。

アドバイスお願いします。
ファイルが多いのでソースは抜粋しましたが、必要でしたら全部アップします。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

該当書籍についてはサンプルコードがウェブ上で公開されているようです。
freewayさんが作成されたソースと比較して確認してみてはいかがでしょうか。

投稿2016/02/20 06:23

nakit

総合スコア410

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/02/22 00:12

コメントありがとうございます。 sampleをdownloadしても動作しなかったので質問しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問