类型'System.String'不支持序列运算符。

时间:2016-11-01 17:55:13

标签: c# asp.net linq

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

1 个答案:

答案 0 :(得分:2)

你几乎就在那里 - 你需要在查询对象上调用SingleOrDefault()而不是在string对象上调用它:

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