.mdf"因操作系统错误2失败(系统找不到指定的文件.)

Ere*_*rez 14 c# sql database asp.net entity-framework

    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; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Entity Framework创建一个新的数据库,但我总是得到那个例外

目录查找文件"c:\ users\oren\documents\visual studio 2012\Projects\ResturantSite\ResturantSite\App_Data\ResturantSite.SiteContext.mdf"失败,出现操作系统错误2(系统找不到指定的文件.) .
CREATE DATABASE失败.无法创建列出的某些文件名.检查相关错误

第28行:使用(var db = new SiteContext())
第29行:{
第30行:db.User.Add(u);
第31行:db.SaveChanges();
第32行:}

第30行抛出异常

我希望有人可以提供帮助

Dav*_*idG 44

您的应用程序缺少该App_Data文件夹.右键单击您的项目,选择Add,然后Add ASP.Net Folder选择App_Data文件夹.

这可确保您的应用程序存在正确的文件夹.


Fer*_*reo 6

我修复了删除当前 Add_Data 文件夹的错误,因为我从 Github 存储库克隆了该项目,然后再次添加了 App_Data 文件夹并使用 update-database 命令运行迁移。这对我有用。