【问题标题】:Database is not updated in Entity Framework in .NET Framework.NET Framework 中的实体框架中的数据库未更新
【发布时间】:2023-03-16 15:25:02
【问题描述】:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using Email_System.Models;
using System.Data.Entity;

namespace Email_System.Pages
{
    public partial class EditProfile : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            /*
            EmailDbContext db = new EmailDbContext();
            string username = Session["user"].ToString();
            User u = db.Users.Where(b => b.UserName == username).FirstOrDefault();
            fname.Text = u.UserFirstName.ToString();
            lname.Text = u.UserLastName.ToString();
            date.Text = u.DOB.ToString();
            fname.Text = Session["fname"].ToString();
            lname.Text = Session["lname"].ToString();
            date.Text = Session["dob"].ToString();
        }

        protected void Edit_Click(object sender, EventArgs e)
        {
            EmailDbContext db1 = new EmailDbContext();
            string uname = Session["user"].ToString();
            Label1.Text = uname;
            User u = db1.Users.Where(b => b.UserName == uname).FirstOrDefault();

            db1.Entry(u).State = EntityState.Modified;
            u.UserFirstName=fname.Text;
            u.UserLastName=lname.Text;
            u.DOB = DateTime.Parse(date.Text);
            Session["fname"] = fname.Text;
            Session["lname"] = lname.Text;
            Session["dob"] = date.Text;
            db1.Users.Attach(u);
            db1.SaveChanges();
        }
    }
}

上面的部分是EditProfile.aspx.cs。在这段代码中,我想更新我的fnamelnamedob,但是当我单击按钮时,它并没有更新数据库。我在 .NET Framework 中使用 EF。

有什么问题?

【问题讨论】:

  • 您需要提交操作,使用 'db1.Commit();'

标签: c# entity-framework ef-code-first


【解决方案1】:

我认为您只是将状态修改命令的顺序错误,我会尝试:

protected void Edit_Click(object sender, EventArgs e)
    {
        EmailDbContext db1 = new EmailDbContext();
        string uname = Session["user"].ToString();
        Label1.Text = uname;
        User u = db1.Users.Where(b => b.UserName == uname).FirstOrDefault();

        u.UserFirstName=fname.Text;
        u.UserLastName=lname.Text;
        u.DOB = DateTime.Parse(date.Text);
        Session["fname"] = fname.Text;
        Session["lname"] = lname.Text;
        Session["dob"] = date.Text;
        db1.Users.Attach(u);
        db1.Entry(u).State = EntityState.Modified;
        db1.SaveChanges();
    }

【讨论】:

  • 首先谢谢!我尝试但不工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 2014-06-16
  • 2018-08-01
  • 1970-01-01
相关资源
最近更新 更多