使用linq插入数据时出现此错误。在这里我有一个表有两列,一列是标识列,另一列是可空的marquee txt。请提供解决方案。 我的代码在这里。
protected void Button1_Click(object sender, EventArgs e)
{
try
{
Marquee existing = context.Marquees.FirstOrDefault();
if (existing != null)
{
existing.marquee1 = txtMarquee.Text;
context.SubmitChanges();
lblmsg.Text = "Data Saved Successfully";
generalFunction.goGreen(lblmsg);
}
else
{
Marquee newMarquee = new Marquee();
newMarquee.marquee1 = txtMarquee.Text;
context.Marquees.InsertOnSubmit(existing);
context.SubmitChanges();
lblmsg.Text = "Data Saved Successfully";
generalFunction.goGreen(lblmsg);
}
}
catch (Exception ee)
{
lblmsg.Text = "Error: " + ee.Message;
}
}
答案 0 :(得分:1)
你真的需要提供更多信息。由于缺少信息而有点难以辨别,但您已创建newMarquee
,但之后您已将existing
传递到InsertOnSubmit
函数中。我不知道existing
来自哪里,因为它不在代码中,但也许是null,这就是你得到这个错误的原因?
您说您编辑了代码,但问题仍然存在于您正在显示的内容中:在“else”部分中,existing是null,因此当您将其传递给InsertOnSubmit时,它可能会抛出错误。当null为null时,InsertOnSubmit将抛出该确切的错误。您希望该行代替context.Marquees.InsertOnSubmit(newMarquee);
。