在实体框架中插入带有空参数集的存储过程

时间:2018-08-29 22:12:18

标签: c# entity-framework nullreferenceexception

我想在一些值中插入null参数,但是出现以下错误:

  

System.NullReferenceException:'对象引用未设置为   对象的实例。”   System.Windows.Forms.ListControl.SelectedValue.get返回null。

该程序是Windows Forms应用程序,代码如下:

using (var context = new SamenEntities())
{
    person ppp = new person()
    {
        id = textBox1.Text.Trim(),
        name = textBox2.Text.Trim(),
        family = textBox3.Text.Trim(),
        birth_date = dateTimePicker1.Value,
        birth_provice = Convert.ToInt32(comboBox1.SelectedValue.ToString()),
        note = richTextBox1.Text.Trim(),
        img_personal = ImageToByteArray(pictureBox1.Image),
        date_register = DateTime.Now
    };

    context.persons.Add(ppp);
    context.SaveChanges();
}

如何输入null值或从SQL Server输入默认值?

1 个答案:

答案 0 :(得分:1)

通过查看异常,它表明ComboBox没有选择任何值。这与SQL Server此时不接受null无关。

使用该信息,您应该检查是否已选择一个值,即不是null,如下所示:

object selectedValue = comboBox1.SelectedValue;

if(selectedValue != null)
{
    ppp.birth_provice = Convert.ToInt32(selectedValue.ToString()),
}

最重要的是,您可能要考虑使用Int32.TryParse来确保所选值是实际整数。