匿名类型出现在两个错误中

Stu*_*Rik 10 c# linq asp.net

我有一个填充GridViewon 的linq查询Page_Load.我for为字母表制作了一个字符循环.在.Command中的LinkButton用于填充LinkButton,我正在使用的查询相同的参数非常类似的查询,并提示以下错误:.

类型'<> f__AnonymousType2'存在于'ConcernContracts.dll'和'System.Web.WebPages.Deployment.dll'中

void lnkCharacter_Command(object sender, CommandEventArgs e)
{
    try
    {
        var lbtn = (LinkButton)lbl_Alphabet.FindControl("lnkCharacter" + e.CommandArgument);
        var id = lbtn.Text;

        using (var db = new dbDataContext())
        {
            var query = from n in db.tbl_Providers
                        where ((n.provider_Name.StartsWith(id)) && (n.provider_Deleted == false))
                        select new
                        {
                            n.ProviderId,
                            n.provider_Name
                        };

            grd_Provider.DataSource = null;
            grd_Provider.DataSource = query;
            grd_Provider.DataBind();
        }
    }
    catch (SystemException ex) { }
}
Run Code Online (Sandbox Code Playgroud)

LoadGrid()是相同的,但它不使用.StartsWith()条件.你有什么想法如何解决错误?

该错误不会引发异常,但它不会为任一查询填充网格.在以下行中发现了错误:grd_Provider.DataSource = query;

Nee*_*bey 2

更改网格数据源

grd_Provider.DataSource = query.ToList();
grd_Provider.DataBind();
Run Code Online (Sandbox Code Playgroud)

或者创建具有两个属性 Provider Id 和 Name 的列表,并从输出中绑定该列表,如下所示。

 List<Entities> abc=query.ToList();
 grd_Provider.DataSource =abc;
 grd_Provider.DataBind();
Run Code Online (Sandbox Code Playgroud)