类型'System.String'不支持序列操作符

本文关键字:操作符 System 类型 String 不支持 | 更新日期: 2023-09-27 18:15:53

在下面代码的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();
    }

类型'System.String'不支持序列操作符

你差不多有了-你需要调用SingleOrDefault()上的查询对象,而不是调用string对象:

string Result = (from d in Data.myTable 
                where d.textColumn == myDropDownList.SelectedValue && d.intColumn == 1
                select d.anotherTextColumn).SingleOrDefault();