我首先得到两个运行时错误({“序列包含多个元素”}} ==> 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;
}
}
答案 0 :(得分:6)
SingleOrDefault
将抛出。如果您打算在表格中找到第一个匹配的联系人,请改用FirstOrDefault
。