2014-06-10 1 views
10
protected void register_Click(object sender, EventArgs e) 
    { 
     AddUser(userName.Text, password.Text, confirm.Text); 
    } 

    void AddUser(string name, string pass, string confirm) 
    { 
     User u = new User(name, pass, confirm); 

     if (u.Valid) 
     { 
      using (var db = new SiteContext()) 
      { 
       db.User.Add(u); 
       db.SaveChanges(); 
      } 
     } 
    } 
} 

public class User 
{ 
    public int UserId { get; set; } 
    public string UserName { get; set; } 
    public string Password { get; set; } 
    public bool Valid { get; set; } 

    public User(string _name,string _password,string _confirm) 
    { 
     if (CheckPassword(_password, _confirm)) 
     { 
      Password = _password; 
      UserName = _name; 
      Valid = true; 
     } 
     else 
      Valid = false; 
    } 

    private bool CheckPassword(string _password, string _confirm) 
    { 
     if (_confirm.Equals(_confirm)) 
      return true; 
     return false; 
    } 
} 

public class SiteContext : DbContext 
{ 
    public DbSet<User> User { get; set; } 
} 

Próbuję utworzyć nową bazę danych przy użyciu Entity Framework, ale zawsze się tego wyjątku.mdf”nie powiodło się z powodu błędu systemu operacyjnego 2 (system nie może odnaleźć określonego pliku.)

katalog wyszukiwanie pliku "c: \ users \ oren \ documents \ visual studio 2012 \ Projects \ ResturantSite \ ResturantSite \ App_Data \ ResturantSite.SiteContext.mdf" nie powiodło się z błędem systemu operacyjnego 2 (System nie może odnaleźć określonego pliku).
NIE POWIODŁO SIĘ TWORZENIE BAZY DANYCH Nie można utworzyć niektórych wymienionych nazw plików Sprawdź powiązane błędy

Linia 28: za pomocą (var db = nowy SiteContext())
Linia 29: {
Linia 30: db.User.Add (u);
Linia 31: db.SaveChanges();
Linia 32:}

Linia 30 zgłasza wyjątek

Mam nadzieję, że ktoś może pomóc

+0

Czy istnieje folder "c: \ users \ oren \ documents \ visual studio 2012 \ Projects \ ResturantSite \ ResturantSite \ App_Data"? A jeśli tak, czy aplikacja ma pozwolenie na pisanie? – DavidG

+0

folder doesent istnieje Skąd mam wiedzieć, czy aplikacja ma uprawnienia do pisania? – Erez

+0

Stwórz i zobacz, co się stanie! – DavidG

Odpowiedz

35

Aplikacja brakuje folder App_Data. Kliknij prawym przyciskiem myszy na projekcie, wybierz Add, następnie Add ASP.Net Folder i wybierz folder App_Data.

Zapewnia to istnienie prawidłowego folderu dla aplikacji.

+0

dziękuję bardzo, że pomógł – Erez

+0

nie mogę głosować, ale zaakceptowałem bardzo dziękuję – Erez

+0

Nie mam opcji Dodaj folder ASP.Net w VS 2015 http://imgur.com/iRqHoMj Co mam zrobić? –