Tutorial ASP.NET MVC5 - EF connection string

0

Witam,

Mam problem z tutorialem:

http://www.asp.net/mvc/tutorials/mvc-5/introduction/accessing-your-models-data-from-a-controller

Robię wszystko krok po kroku, jednak po wygenerowaniu CRUD i odpaleniu tego w przeglądarce, dostaję wyjątek:

localhost:3303/Movies

EntityFramework.dll but was not handled in user code

Additional information: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct.

Fragment mojego Web.configu:

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20140321075254.mdf;Initial Catalog=aspnet-MvcMovie-20140321075254;Integrated Security=True"
      providerName="System.Data.SqlClient" />
    <add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
      providerName="System.Data.SqlClient" /> 
  </connectionStrings>

Mój model:

using System;
using System.Data.Entity;

namespace MvcMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }

    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
}

Fragment kontrolera:

namespace MvcMovie.Controllers
{
    public class MoviesController : Controller
    {
        private MovieDBContext db = new MovieDBContext();

        // GET: /Movies/
        public ActionResult Index()
        {
            return View(db.Movies.ToList()); //tutaj exception
        }

Stos:

http://4programmers.net/Pastebin/3026

Posiadam VS2013 w wersji Ultimate z DreamSparka.

0

Usun polski pakiet jezykowy dla .NET.

Masz w ogole zainstalowany/wlaczony ten serwer?

0

To LocalDB trzeba w jakiś sposób oddzielnie uruchamiać? Czytałem, że wystartuje samemu. Mam oddzielnie MS SQL'a i wyłączone usługi SQL Server Agent i SQL Server - po włączeniu bez zmian.

Co do polskiego pakietu językowego - VS2013 mam w j. angielskim. Doinstalowany tylko ReSharper (aktualnie wyłączony), GitExtensions i NuGet.

Options --> Database Tools --> Data Connections limit z czasem jest wyłączony a name to: (LocalDB)\v11.0

Gdzie usunąć ten pakiet?

0

Jeżeli masz zainstalowany MS SQL dlaczego nie podasz connection string do niego? EF stworzy bazę przy pierwszym uruchomieniu programu automatycznie.

0

Chociażby dlatego, że

  • jak przeniosę sobie na pendrivie aplikację na inny komputer, to nie mam już dostępu do MS SQL
  • chciałbym rozwiązać problem z LocalDB, bo jest to często wygodne
0

Przepraszam, że pod postem, ale nie mogę edytować.

Dla testu połączyłem się z MS SQL:

<add name="MovieDBContext" 
         providerName="System.Data.SqlClient"
         connectionString="Server=SERVER_MSI;Database=DatabaseName;Integrated Security=True;" />

...i aplikacja działa. Chciałbym mimo wszystko rozwiązać problem z LocalDB.

0
True napisał(a):

Gdzie usunąć ten pakiet?

Tam gdzie się odinstalowuje wszystkie aplikacje. Szukaj czegoś w rodzaju "Pakiet językowy dla platformy Microsoft .NET Framework"

True napisał(a):
  • jak przeniosę sobie na pendrivie aplikację na inny komputer, to nie mam już dostępu do MS SQL

A zatem aplikacja nie będzie działać.
Co chcesz osiągnąć?

0

A zatem aplikacja nie będzie działać.
Co chcesz osiągnąć?

Pracuję na dwóch komputerach, gdzie tylko na jednym mam MS SQL. Dodatkowo na uczelni nie w każdej sali jest zainstalowany MS SQL, ale w każdej jest VS2012/2013. Z tego powodu wygodniej byłoby mi korzystać z tego LocalDB. Dodam jeszcze, że na komputerze mam aktualnie dwa Visuale (2012 Pro / 2013 Ultimate). Jeśli to istotne, to VS2012 instalowałem później (ze względu na SDK do WindowsPhone 7.5).

Nic nie mogę znaleźć związanego z pakietem językowym - dlatego zapytałem gdzie. W "programy i funkcje" w PA nic nie ma. Pewnie dlatego, że ten pakiet trzeba doinstalowywać, a ja nic takiego nie instalowałem - używałem instalatora z DreamSpark, który jest tylko jeden (wersja eng)... u moich kolegów to działa, u mnie nie.

Jak nie da się tego naprawić, to jakoś się z tym pogodzę, że muszę uruchamiać to tylko u siebie i używać MS SQL'A, ale wolałbym rozwiązać problem z LocalDB.

0
True napisał(a):

Nic nie mogę znaleźć związanego z pakietem językowym - dlatego zapytałem gdzie. W "programy i funkcje" w PA nic nie ma. Pewnie dlatego, że ten pakiet trzeba doinstalowywać, a ja nic takiego nie instalowałem - używałem instalatora z DreamSpark, który jest tylko jeden (wersja eng)... u moich kolegów to działa, u mnie nie.

Jeśli masz komunikaty błędów po polsku, to znaczy, że masz polski pakiet językowy. Może jest doinstalowany jako aktualizacja Windowsa, więc sprawdź jeszcze na ich liście.

Jesteś pewien, że plik bazy, do którego się odwołujesz istnieje? Masz dwa connection stringi, z którego z nich korzystasz?

0

Sprawdziłem wcześniej również w aktualizacjach i naprawdę nie ma żadnego pakietu językowego - oczywiście domyślam się, że gdzieś być musi. Jeśli jest to potrzebne, to zrobię listę zainstalowanych programów/aktualizacji. System to Windows 8.1 Pro.

Jesteś pewien, że plik bazy, do którego się odwołujesz istnieje?

Plik nie istnieje, teoretycznie powinien się utworzyć przy pierwszym użyciu. Analogicznie do tego, co zrobiło się w MS SQL.

Masz dwa connection stringi, z którego z nich korzystasz?

Mam dwa, bo tak jest w tutorialu. Używam "MovieDBContext". Próbowałem zostawiać tylko jego (tego drugiego), ale to nie pomaga.

Dodam, że jak w SQL Server Management próbuję się zalogować na serwer "(LocalDB)\v11.0", to dostaję błąd 52.

Wygląda to tak, jakbym nie miał zainstalowanego LocalDB - co mnie dziwi, bo Microsoft pisze na swoich stronach, że jest ta baza jest zintegrowana z VS2013.

0

Żadnych pomysłów? :/

0

Mi na podobny problem podziałała reinstalacja SQL Server - niby jest wbudowany, a potem pokazuje w instalatorze, że część komponentów nie jest zainstalowana...

EDYTOWANE dla niezaśmiecania forum pustymi postami :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1