我有两个不同的运行时错误

时间:2015-11-13 10:03:33

标签: c# runtime-error

我首先得到两个运行时错误({“序列包含多个元素”}} ==> System.InvalidOperationException)当它出现不止一次时以及当我想删除我在文本框中写的内容时 我该怎么办?

这是我的代码

 private AutoCompleteStringCollection GetLinqDataSourceForString(string p)
    {
        var c = new AutoCompleteStringCollection();
        c.Add( Getauto(p));
        return c;
    }

   private void txtSearch_TextChanged(object sender, EventArgs e)
    {
        txtSearch.AutoCompleteSource = AutoCompleteSource.CustomSource;
        txtSearch.AutoCompleteMode = AutoCompleteMode.Suggest;
          txtSearch.AutoCompleteCustomSource = GetLinqDataSourceForString(txtSearch.Text);
      } 

并且这个在另一层中从数据库获取信息

    public string AutoUpdate(string _search)
    {
        using (var context = new Phone_BookEntities1())
        {
            var c = (from d in context.Cantacts
                     where d.Cantact1.StartsWith(_search)
                     select d.Cantact1).SingleOrDefault();
            return c;
        }
    }

1 个答案:

答案 0 :(得分:6)

如果你的序列有多个元素,

SingleOrDefault将抛出。如果您打算在表格中找到第一个匹配的联系人,请改用FirstOrDefault