【问题标题】:.mdf" failed with the operating system error 2(The system cannot find the file specified.).mdf" 因操作系统错误 2 失败(系统找不到指定的文件。)
【发布时间】:2014-07-31 11:43:24
【问题描述】:
    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; }
}

我正在尝试使用实体框架创建一个新数据库,但我总是遇到该异常

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

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

第 30 行抛出异常

希望有人能帮忙

【问题讨论】:

  • c:\users\oren\documents\visual studio 2012\Projects\ResturantSite\ResturantSite\App_Data 文件夹是否存在?如果是,应用程序是否有权对其进行写入?
  • 文件夹不存在我怎么知道app是否有写权限?
  • 创建它,看看会发生什么!
  • Visual Studio 可以选择自动执行该特定文件夹。
  • 我正在尝试按实体创建该数据库

标签: c# sql asp.net database entity-framework


【解决方案1】:

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

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

【讨论】:

  • 我在 VS 2015 中没有添加 ASP.Net 文件夹选项 imgur.com/iRqHoMj 我该怎么办?
  • 您需要将该文件夹添加到您的网络项目中,而不是您的类库中。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 2018-06-11
    相关资源
    最近更新 更多