0

我正在关注 ASP MVC 3 音乐商店教程——将 C# 转换为 VB。 http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4

我有一个名为 SampleData 的类,它应该保存应用程序的数据。它看起来像这样:

 Public Class SampleData
        Inherits DropCreateDatabaseIfModelChanges(Of MusicStoreEntities)

        Protected Overrides Sub Seed(context As MusicStoreEntities)
            Dim genres As Genre() = { _
                New Genre() With {.name = "Rock"},
                New Genre() With {.name = "Jazz"},
               ... more genres...
             }

我有一个名为 MusicStoreEntities 的类,它从 DbContext 继承,如下所示:

Public Class MusicStoreEntities
    Inherits DbContext

    Property albums As DbSet(Of Album)
    Property genres As DbSet(Of Genre)

我的控制器应该返回一个列出流派的视图,但流派列表是空的。

    ' GET: /Store
    Dim storeDB As MusicStoreEntities = New MusicStoreEntities()

    Function Index() As ActionResult
        Dim genres As List(Of Genre) = storeDB.genres.ToList
        Return View(genres)
    End Function

我还在位于 global.asax 的 Application_start 中调用我的种子

Sub Application_Start()
    System.Data.Entity.Database.SetInitializer(
           New MvcMusicStore.Models.SampleData())

基本上,我应该看到所有类型,但没有。

在此处输入图像描述

我不知道如何进行调试。我从哪里开始?

4

1 回答 1

2

您是否在位于 global.asax 的 Application_start 中调用您的种子?

我不知道vb,但这是c#:

protected void Application_Start() {
    Database.SetInitializer(new SampleData());
}

更改DropCreateDatabaseIfModelChangesDropCreateDatabaseAlways也可能会有所帮助,它会在每次运行程序时强制您的数据库删除并重新设置种子。

于 2012-08-09T20:07:14.137 回答