LINQ ExecuteQuery - 错误

use*_*089 5 c# linq asp.net

我有Executequery的问题:错误消息:"指定的强制转换无效".我试过了:

var qq = db.ExecuteQuery<class_search>(query, ddl4, ddl5, ddl1).ToList();
Run Code Online (Sandbox Code Playgroud)

但同样的错误也是如此.我试过几个方法.总是这个错误或"查询结果不能多​​次枚举",当我尝试做IEnumerable时.我读了很多文章,但我不知道怎么做.我做错了什么,或者错过了什么?

public class class_search
{
    public string path_image
    { get; set; }

    public string name_product
    { get; set; }

    public float cost
    { get; set; }
} 

public partial class Search : System.Web.UI.Page
{
    DataClasses1DataContext db = new DataClasses1DataContext();

    string ddl4 = DropDownList4.SelectedItem.Value;
    string ddl5 = DropDownList5.SelectedItem.Value;
    string ddl1 = DropDownList1.SelectedItem.Value;

    string query = "select p.path_image, p.name_product, p.cost from Table1 a, Table2  p, Table3 k where a.column1 = {0} and a.column2 = {1} and k.column2 = {2} and p.IDForeignColumn1 = k.IDcolumn and p.IDForeignColumn2 = a.IDcolumn"

    var qq = db.ExecuteQuery<class_search>(query, ddl4, ddl5, ddl1);

    ListView1.DataSource = qq;
    ListView1.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

//我将代码改为eng语言 现在a.column1,a.column2和k.column2是字符串类型.

Jam*_*See 0

尝试IEnumerable<class_search> qq = db.ExecuteQuery<class_search>(query, ddl4, ddl5, ddl1).ToList();看看是否有帮助。

我知道这看起来有点挑剔,但 var 的行为可能是这里的一个障碍,所以值得尝试。如果这不起作用,请告诉我,我会尝试适当更新此答案。

另外,请更新问题中的代码示例,以显示您的代码按照评论者之一的建议采用的事件方法。