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; }
}
我正在尝试使用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行抛出异常
我希望有人可以提供帮助
答案 0 :(得分:40)
您的应用程序缺少App_Data
文件夹。右键单击您的项目,选择Add
,然后选择Add ASP.Net Folder
并选择App_Data
文件夹。
这可确保您的应用程序存在正确的文件夹。
答案 1 :(得分:2)
我遇到了同样的错误,并通过删除当前的App_Data文件夹,然后通过右键单击该项目并从“添加ASP.Net文件夹”选项中添加新的App_Data文件夹来创建一个新错误。
答案 2 :(得分:2)
我修复了删除当前Add_Data文件夹的错误,因为我已经从Github存储库克隆了项目,然后又添加了App_Data文件夹并使用update-database命令运行了迁移。这对我有用。