我已經看到類似這樣的幾個問題,但似乎沒有人回答我的問題 - 最常見的答案似乎是'延遲加載 - 數據庫/表將在您嘗試訪問它們」在這種情況下我:以代碼優先方式創建數據庫
Dim students As List(Of Student) = db.Students.ToList
以上是拋出一個錯誤,因爲學生表是空/空。
這裏是我的(很簡單)SchoolContext:
Imports System.Data.Entity
Public Class SchoolContext
Inherits DbContext
Public Students As DbSet(Of Student)
End Class
這裏是我SchoolInitialiser類:
Imports System.Data.Entity
Public Class SchoolInitializer
Inherits DropCreateDatabaseAlways(Of SchoolContext)
Protected Overrides Sub Seed(context As SchoolContext)
Dim students As List(Of Student) = New List(Of Student) From {
New Student("Jessica", "Jones"),
New Student("Chuck", "Norris"),
New Student("Rambo", "John")
}
For Each student In students
context.Students.Add(student)
Next
context.SaveChanges()
End Sub
End Class
而且在web.config中我的連接字符串:
<add name="SchoolContext" connectionString="Data Source= (LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\school.mdf;Initial Catalog=aspnet-WebApplication1-20160205092922;Integrated Security=True" providerName="System.Data.SqlClient" />
而且終於我的global.asax我在調用SetInitialize函數
Imports System.Data.Entity
Imports System.Web.Optimization
Public Class MvcApplication
Inherits System.Web.HttpApplication
Protected Sub Application_Start()
Database.SetInitializer(New SchoolInitializer)
AreaRegistration.RegisterAllAreas()
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)
RouteConfig.RegisterRoutes(RouteTable.Routes)
BundleConfig.RegisterBundles(BundleTable.Bundles)
End Sub
End Class
沒有數據庫似乎在我的AppData文件夾中創建,據我所知,一切都設置好了嗎?有什麼建議麼?
我下面下面的教程:https://www.youtube.com/watch?v=VAtVv1Q7ufM
謝謝!
我應該在我的控制器都提到,我越來越喜歡這個數據庫方面: 昏暗的分貝作爲SchoolContext =新SchoolContext 昏暗的學生名單(學生) = db.Students.ToList –