2014-10-06 56 views
0

所以我試圖連接到使用我的web.config以下加載到數據庫對象

<connectionStrings> 
     <add name="StoreEntities" 
     connectionString="Data source=localhost;Initial Catalog=testdb;Integrated   Security=True" <providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

我有一個StoreController類數據庫:

public class StoreController : Controller 
{ 
    StoreEntities storeDB = new StoreEntities(); 

    // Index does nothing atm 
    public ActionResult Index() 
    { 
     return View(categories); 
    } 

    public ActionResult Details(int? id) 
    { 
     if (id == null) 
     { 
      return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
     } 
     Product product = storeDB.Products.Find(id); 
     return View(product.Title); 
    } 
} 

而且還StoreEntities:

using System.Data.Entity; 

namespace Assignment_2.Models 
{ 
    public class StoreEntities : DbContext 
    { 
     public StoreEntities(): base("StoreEntities") 
     { 

     } 

     public DbSet<Product> Products { get; set; } 
     public DbSet<Category> Categories { get; set; } 
    } 
} 

但是,當我嘗試訪問localhost:myportnumber/store/details/1它說對象引用未設置爲實例我相信這意味着應用程序不知道數據庫。應用程序在啓動時是否自動將數據庫加載到對象中?謝謝。

+0

首先,你與哪個實例引起的NullReferenceException調試檢查?這應該引導你解決問題的原因。關於您的其他問題:不,實體框架(或任何ORM)不會加載數據,除非您明確要求通過查詢。不過,它可能會在同一個會話中緩存一些加載的數據。 – 2014-10-06 05:48:40

+0

'product.Title'的價值是什麼? – Ofiris 2014-10-06 05:55:01

+0

該錯誤可能是任何事情 - 唯一的方法來找出什麼是調試和找到它發生的線。 – 2014-10-06 06:05:38

回答

0

上面的代碼考慮到我想你不打電話來連接並打開它