我需要有关更新实体框架模型的帮助。我想在实体中找到某些字段,并使用文本框的值更新其值。

我尝试了这个:

var context1= new Entities1();
using (context1)
{
   var chechUser = (from c in context1.Users
                    where c.Username == LabelUsername.Text
                    select c.Name).Single();

   chechUser = TextBoxNewName.Text;

   context1.SaveChangesAsync();
}


没有构建错误,但是它不起作用(实体未更新)。

有人可以告诉我我在做什么错吗?
预先感谢。

最佳答案

我的猜测是EF不知道如何保存此更新。

您的“ var”只是返回一个字符串,而不是数据库记录,因此,当您更改它的值时,它不再链接到db记录。

这是您的代码应如下所示:

var context1= new Entities1();
using (context1)
{
   var chechUser = (from c in context1.Users
                    where c.Username == LabelUsername.Text
                    select c).FirstOrDefault();

   if (chechUser == null)
       throw new Exception("Couldn't find a Users record with a Username value of: " + LabelUsername.Text);

   chechUser.Name = TextBoxNewName.Text;

   context1.SaveChangesAsync();
}


希望这可以帮助。

关于c# - 使用textbox.text值更新 Entity Framework ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30978168/

10-12 18:34