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它說對象引用未設置爲實例我相信這意味着應用程序不知道數據庫。應用程序在啓動時是否自動將數據庫加載到對象中?謝謝。
首先,你與哪個實例引起的NullReferenceException調試檢查?這應該引導你解決問題的原因。關於您的其他問題:不,實體框架(或任何ORM)不會加載數據,除非您明確要求通過查詢。不過,它可能會在同一個會話中緩存一些加載的數據。 – 2014-10-06 05:48:40
'product.Title'的價值是什麼? – Ofiris 2014-10-06 05:55:01
該錯誤可能是任何事情 - 唯一的方法來找出什麼是調試和找到它發生的線。 – 2014-10-06 06:05:38