Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα παιδιά,

 

Μια μικρή βοήθεια μιας και είμαι καινούριος στο server mvc και πιο συγκεκριμένα στο asp.net mvc.

 

Παρακολουθώντας το tutorial στο http://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-4 κάνω μια παραλλαγή όσο αφορά την βάση δεδομένων. Έφτιαξα μία βάση δεδομένων MusicStore στον SQL SERVER EXPRESS με τρεις πίνακες μέσα: Genres, Album, Artist.

 

Στο πίνακα Genres (για να μην πολυλογώ με τους υπόλοιπους) έχω δύο πεδία: GenreId (PK, Identity), Name και τρεις εγγραφές Rock, Classical και Jazz.

 

Στο web.config έχω το παρακάτω connectionstring: 

<connectionStrings>
    <add name="MusicStoreEntities"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;User Id=sa;Password=thrillos7;
                       database=MusicStore;
                       AttachDBFilename=|DataDirectory|aspnetdb.mdf;
                       User Instance=true"
     providerName="System.Data.SqlClient" />
  </connectionStrings>

Έχω ένα μοντέλο στον φάκελο Models με όνομα Genre.cs και κώδικα τον παρακάτω

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MusicStore.Models
{
    public partial class Genre
    {
        public int GenreId { get; set; }
        public string Name { get; set; }
        public List<Album> Albums { get; set; }
    }
}

Επίσης έχω έναν controller με όνομα StoreController και κώδικα τον παρακάτω:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MusicStore.Models;

namespace MusicStore.Controllers
{
    public class StoreController : Controller
    {
        MusicStoreEntities storeDB = new MusicStoreEntities();
        //
        // GET: /Store/
        public ActionResult Index()
        {
            var genres = storeDB.Genres.ToList();
            return View(genres);
        }
    }
}

Επίσης έχω και ένα model με όνομα MusicStoreEntities.cs για το db context με κώδικα

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MusicStore.Models
{
    public class MusicStoreEntities : DbContext
    {
        public DbSet<Album> Albums { get; set; }
        public DbSet<Genre> Genres { get; set; }
        public DbSet<Artist> Artists { get; set; }
    }
}

Τέλος έχω και ένα view για το index του StoreController με κώδικα

<!-- this is because we are expecting multiple genres, and not just one -->
@model IEnumerable<MusicStore.Models.Genre>

@{
    ViewBag.Title = "Index";
}

<h3>Browse Genres</h3>
<p>
    Select from @Model.Count() genres:</p>
<ul>
    @foreach (var genre in Model)
    {
        <li>@Html.ActionLink(genre.Name, "Browse", new { genre = genre.Name })</li>
    }
</ul>

Όταν τρέχω το project και πηγαίνω στο localhost..../Store ενώ στο breakpoint φαίνεται το storeDB να έχει ένα sql query που στον server φέρνει εγγραφές, το .ToList() φέρνει πάντα 0 count.

 

Που ακριβώς έχω το λάθος?

 

Ευχαριστώ πολύ και συγνώμη για το μακροσκελές μήνυμα.

 
 

 

Δημοσ.

Δεν δοκιμάζεις μια το παρακάτω connection string?
 

<add name="MusicStoreEntities" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MusicStore;Integrated Security=False;User Id=sa;Password=t
hrillos7;Persist Security Info=False;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...