在下面代码的where条件中的列上有一个复合主键,因此只能有一个可能的返回值。我在SingleOrDefault
返回但是在运行时我在问题标题中得到错误:“类型'System.String'不支持序列运算符。”我对LINQ很新,所以可能有错误的语法?任何帮助表示赞赏
using (myContext Data = new myContext())
{
string Result = (from d in Data.myTable
where d.textColumn == myDropDownList.SelectedValue && d.intColumn == 1
select d.anotherTextColumn.SingleOrDefault()).ToString();
}
答案 0 :(得分:2)
你几乎就在那里 - 你需要在查询对象上调用SingleOrDefault()
而不是在string
对象上调用它:
string Result = (from d in Data.myTable
where d.textColumn == myDropDownList.SelectedValue && d.intColumn == 1
select d.anotherTextColumn).SingleOrDefault();