Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.mdf" failed with the operating system error 2(The system cannot find the file specified.)

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

I am trying to create a new database using Entity Framework but I always getting that exception

Directory lookup for the file "c:\users\oren\documents\visual studio 2012\Projects\ResturantSite\ResturantSite\App_Data\ResturantSite.SiteContext.mdf" failed with the operating system error 2(The system cannot find the file specified.).
CREATE DATABASE failed. Some file names listed could not be created. Check related errors

Line 28: using (var db = new SiteContext())
Line 29: {
Line 30: db.User.Add(u);
Line 31: db.SaveChanges();
Line 32: }

Line 30 throws the exception

I hope somebody can help

like image 305
Erez Avatar asked Jun 10 '14 15:06

Erez


1 Answers

Your application is missing the App_Data folder. Right click on your project, select Add, then Add ASP.Net Folder and choose the App_Data folder.

This ensures the correct folder exists for your application.

like image 194
DavidG Avatar answered Oct 02 '22 18:10

DavidG