数据库连接似乎不起作用

时间:2014-02-25 19:53:17

标签: c# sql asp.net-mvc

我正在尝试执行我的MVC应用程序,但是当我想要显示时,我遇到了NULL异常 类别。我按照MVC音乐商店示例,但我没有使用他们的数据库数据。我有 一个名为product的表和一个名为category的表。我添加了2个产品和2个类别。 我想通过INDEX显示类别。我错过了一些东西,但我找不到它。 我们可以通过任何方式验证数据库是否正确连接,这似乎不是这种情况。

这是我的StoreController索引

namespace WebStore.Controllers
{
    public class StoreController : Controller
    {
        WebStoreEntites TP1StoreDB = new WebStoreEntites();

        //
        // GET: /Store/

        public ActionResult Index()
        {
           var categories = TP1StoreDB.Categories.ToList();  <== this show a null result

           return View(categories);
        }

这是映射我的数据库

的webconfig
<connectionStrings>
 <add name="WebStoreEntities" connectionString="Data 
    Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TP1StoreDB.mdf;Integrated 
    Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

之前曾经是这样的

 <connectionStrings>
  <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data  
   Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebStore-20140225063823;Integrated 
   Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebStore-20140225063823.mdf" />
 </connectionStrings>

这是WebStoreEntities类

using System.Data.Entity;

    namespace WebStore.Models
    {
    public class WebStoreEntites
    {
        public DbSet<Produit> Produits { get; set; }
        public DbSet<Categorie> Categories { get; set; }
    }
}

以下是错误:'System.ArgumentNullException'中出现System.Core.dll类型的例外但未在用户代码中处理

这是类别类

 namespace WebStore.Models
 {
    public partial class Categorie
    {
        public int CategorieId { get; set; }
        public string NomCategorie { get; set; }
        public List<Produit> Produits { get; set; }
    }
 }

和produit.cs

 namespace WebStore.Models
 {
    public class Produit
    {
        public int ProduitId { get; set; }
        public int CategorieId { get; set; }
        public string NomProduit { get; set; }
        public Categorie Categorie { get; set; }
        public float Prix { get; set; }
        public int Quantite { get; set; }
    }
 }

1 个答案:

答案 0 :(得分:0)

我在WebStoreEntities类

中缺少DbContext
 public class WebStoreEntites : DbContext   <=== missing the DbContext