2014-02-25 3 views
0

MVC 응용 프로그램을 실행하려고 시도했지만 범주를 표시하려면 NULL 예외가 있습니다. MVC 음악 저장소 예제를 따르지만 데이터베이스 데이터를 사용하지 않았습니다. 나는 이라는 제품 표와 category라는 표를 가지고 있습니다. 나는 2 개의 제품과 2 개의 카테고리를 추가했다. INDEX을 통해 카테고리를 표시하고 싶습니다. 나는 무엇인가 놓치고있다. 그러나 나는 그것을 발견 할 수 없다. 데이터베이스가 제대로 연결되어 있는지 확인할 수있는 방법이 있습니다. 여기서는 그렇지 않습니다. 여기 데이터베이스 연결이 작동하지 않는 것처럼 보입니다.

여기
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); 
     } 

그것은 여기입니다

<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> 

전에 이렇게 될하는 데 사용

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

내 DB 매핑 webconfig 내 StoreController에서 내 인덱스입니다 WebStoreEntities 클래스

여기
using System.Data.Entity; 

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

63,210 오류이다 형 'System.ArgumentNullException'의 예외 System.Core.dll 발생하지만 여기

사용자 코드로 처리되지 않은 상기 categorie 클래스

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; } 
    } 
} 
+0

예외 사항. Sarcastically 말하는 - 당신은 연결되어 있습니다, 그냥 데이터베이스가 잘못되어 있으므로 질문이 완전히 잘못되었습니다. 데이터베이스 연결에 아무런 문제가 없습니다. 데이터를 확인하십시오. – TomTom

+0

@TomTom 예외가 추가되었습니다. – user3127986

+0

충분하지 않습니다. 그것은 팬시를 얻기 시작하고 있습니다. 그렇다면, 당신은 정말로 sqlexpress와 atachdbfilename으로 놀아 냅니까? 나는 그것이 생산을위한 것이 아니라 모범이되기를 바랍니다. 하지만 그 오류는 재미 있지 않습니다. 수동 db 연결을 시도하고 오래된 adi.net 코드를 방문하여 연결을 설정하고 해당 파트가 작동하는지 선택하도록하십시오. – TomTom

답변

0

WebStoreEntities 클래스에서 DbContext가 누락되었습니다.

public class WebStoreEntites : DbContext <=== missing the DbContext 
관련 문제