Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc asp mvc noob:为什么我的mvc应用程序没有从中填充;s种子数据?_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc asp mvc noob:为什么我的mvc应用程序没有从中填充;s种子数据?

Asp.net mvc asp mvc noob:为什么我的mvc应用程序没有从中填充;s种子数据?,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在学习ASP MVC 3音乐商店教程——将C#翻译成VB。 我有一个名为SampleData的类,它应该保存应用程序的数据。看起来是这样的: Public Class SampleData Inherits DropCreateDatabaseIfModelChanges(Of MusicStoreEntities) Protected Overrides Sub Seed(context As MusicStoreEntities)

我正在学习ASP MVC 3音乐商店教程——将C#翻译成VB。

我有一个名为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的应用程序_start中的种子

Sub Application_Start()
    System.Data.Entity.Database.SetInitializer(
           New MvcMusicStore.Models.SampleData())
基本上,我应该看到所有的类型,但不


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

您是否在位于global.asax的应用程序\u start中调用您的种子

我不知道vb,但这是c:


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

您是否更改了模型以强制删除?如果将其从DropCreateDatabaseIfModelChanges更改为DropCreateDatabaseAlways,则会发生什么情况,因此它将始终删除它并重新设定种子,以确保正在调用种子函数。就是这样。如果你改变答案以反映你的评论,我将接受。谢谢@MarkOreta!成功了!更改了DropCreateDatabaseIfModel更改为DropCreateDataBaseAlways,现在它可以完美地工作!
protected void Application_Start() {
    Database.SetInitializer(new SampleData());
}