〇わからない点
現在、C#にてEntity Frameworkの勉強をしています。
そこで1点疑問があり質問をさせていただきました。
今、Publisherテーブル、Bookテーブル、Authorテーブルを
作成し、下記のmodelinitializerにて初期値を設定して
中身を表示しようとしています。
aspx.csファイルにて初期値を取り出して表示させることは
うまくいっているのですが、このイニシャライザーにブレークポイントを
貼っても処理がキャッチできません。
そこでお聞きしたいのですが、Entity Frameworkでは
エンティティやイニシャライザーにブレークポイントを張っても
キャッチできないのでしょうか?
もしできるのであれば設定変更などの方法をご教授頂けますと
幸いです。
環境はvisual studio 2015 proです。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Data.Entity; 6 7namespace WebApplication1 8{ 9 //継承元のクラス名でデータベースの作成をコントロール 10 public class BookModelInitializer : DropCreateDatabaseAlways<BookModel> 11 { 12 protected override void Seed(BookModel context) 13 { 14 base.Seed(context); 15 16 var publisher1 = new Publisher() 17 { 18 PublisherName = "A出版" 19 }; 20 var publisher2 = new Publisher() 21 { 22 PublisherName = "B出版" 23 }; 24 25 var author1 = new Author() 26 { 27 AuthorName = "著者A" 28 }; 29 30 var author2 = new Author() 31 { 32 AuthorName = "著者B" 33 }; 34 35 var books = new List<Book> 36 { 37 new Book { 38 Author = author1, 39 BookTitle = "titile1", 40 Publisher = publisher1, 41 Price = 1000 42 }, 43 new Book { 44 Author= author2, 45 BookTitle = "titile2", 46 Publisher = publisher2, 47 Price = 2000 48 } 49 }; 50 51 foreach (Book book in books) 52 { 53 context.Books.Add(book); 54 } 55 context.SaveChanges(); 56 } 57 } 58}
【追記】
私が実行したaspx.csファイルを下記に示します。
尚動作は下記のaspx.csファイルを実行すると正常に文字列が表示されます。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Web.UI; 6using System.Web.UI.WebControls; 7 8namespace WebApplication1 9{ 10 public partial class WebForm1 : System.Web.UI.Page 11 { 12 protected void Page_Load(object sender, EventArgs e) 13 { 14 string bookdata = ""; 15 16 using (var context = new BookModel()) 17 { 18 var books = context.Books; 19 20 foreach (var book in books) 21 { 22 bookdata += string.Format("Id:{0}, 図書名{1}, 著者名{2}, 出版社名:{3}, 価格:{4}円<br>", 23 book.BookId, book.BookTitle, book.Author.AuthorName, book.Publisher.PublisherName, book.Price); 24 } 25 26 Label1.Text = bookdata; 27 28 Label1.ForeColor = System.Drawing.Color.Aqua; 29; } 30 } 31 } 32}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/08 00:09
退会済みユーザー
2019/03/08 00:29 編集
退会済みユーザー
2019/03/08 01:13
退会済みユーザー
2019/03/08 04:03
2019/03/08 09:50