【问题标题】:ADO.NET Entity Framework SaveChanges() does not workADO.NET 实体框架 SaveChanges() 不起作用
【发布时间】:2009-06-13 10:10:58
【问题描述】:

我想将新管理员添加到我的数据库中。但它不起作用。请查看 button1_Click 事件处理程序,我需要在此事件中添加值。

public partial class Form1 : Form
    {
        protected NetTanitimTestEntities adminNameContext;
        public Form1()
        {
            InitializeComponent();
            adminNameContext = new NetTanitimTestEntities();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            ObjectQuery<Admins> adminNameQuery = adminNameContext.Admins;
            dataGridView1.DataSource = adminNameQuery;
            dataGridView1.Columns["id"].Visible = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {

            using (NetTanitimTestEntities newadmin = new NetTanitimTestEntities())
            {
                Admins admin = new Admins { Name = "ali", SurName = "Çorlu", Username = "acorlu", Password = "1234", UserType = "user" };
                newadmin.SaveChanges();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            adminNameContext.SaveChanges();
        }
    }

【问题讨论】:

  • 当您重新启动程序时,您使用 Button1 添加的新行是否显示正常?
  • 您需要将新创建的“admin”对象添加到“newadmin”实体上下文中!否则,将没有任何东西可以保存.....有关更多详细信息,请参阅 Alex 的答案

标签: c# .net linq entity-framework


【解决方案1】:

看来您需要在代码中添加以下命令:

using (NetTanitimTestEntities newadmin = new NetTanitimTestEntities())
{
     Admins admin = new Admins { Name = "ali", SurName = "Çorlu", Username = "acorlu", Password = "1234", UserType = "user" };
     newadmin.AddToAdmins(admin);
     newadmin.SaveChanges();
}

或类似的名称,具体取决于生成方法的实际名称。您的“newadmin”对象应该为模型中的每个实体生成一堆“add”方法。

【讨论】:

    【解决方案2】:

    我必须承认,我对实体框架一无所知,但是,在您的 button1 单击事件中,您正在创建新实体,但您只需调用 SaveChanges,但您尚未将新的 Admins 实体添加到NetTanitimTestEntities 上下文。所以,我会收集,因为您正在使用的 NetTanitimTestEntities 上下文不知道您创建的新实体,没有任何东西被持久化到数据库中。因此,如果您将这个新的 Admins 实体添加到上下文中,然后调用 SaveChanges,那么希望它会被持久化到您的数据库中。

    【讨论】:

      猜你喜欢
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      相关资源
      最近更新 更多