C# GridView在定义的类型中找不到字段,但匿名类型?

C# GridView在定义的类型中找不到字段,但匿名类型?,c#,.net,linq,entity-framework,gridview,C#,.net,Linq,Entity Framework,Gridview,我使用LINQ从数据库中查询数据,然后将其绑定到GridView。当我使用匿名类型时,一切正常,但现在我想重用数据(用于以后的筛选),因此我创建了一个类来映射匿名类型,如下所示: public class DetailComplaint { public decimal Id; public decimal Status; public string Name; public decimal ServiceId; public string Service

我使用LINQ从数据库中查询数据,然后将其绑定到GridView。当我使用匿名类型时,一切正常,但现在我想重用数据(用于以后的筛选),因此我创建了一个类来映射匿名类型,如下所示:

public class DetailComplaint
{
    public decimal Id;
    public decimal Status;
    public string Name;
    public decimal ServiceId;
    public string Service;
    public string Title;
    public string Customer;
    public string Description;
    public DateTime CreatedDate;
    public decimal CreatedBy;
    public string Author;
    public decimal? AssignedBy;
    public decimal? AssignedTo;
    public string Technician;
    public DateTime? AssignedDate;
    public string Contact;
}
然后在查询中使用它(…选择new DetailComplaint{//所有字段与之前相同})

但是现在当我绑定数据时,GridView抛出一个异常,它找不到名为“Id”的字段或属性,该字段或属性在详细信息中显式定义


我怎样才能解决这个问题?谢谢

您是否尝试过将这些设置为属性而不是字段?某些形式的绑定只适用于属性而忽略字段。不清楚您使用的是哪个
GridView
,但这可能就是问题所在

在这里最简单的方法就是像这样使用自动属性

public class DetailComplaint
{
    public decimal Id {get; set; }
    public decimal Status {get; set; }
    public string Name {get; set; }
    public decimal ServiceId {get; set; }
    public string Service {get; set; }
    public string Title {get; set; }
    public string Customer {get; set; }
    public string Description {get; set; }
    public DateTime CreatedDate {get; set; }
    public decimal CreatedBy {get; set; }
    public string Author {get; set; }
    public decimal? AssignedBy {get; set; }
    public decimal? AssignedTo {get; set; }
    public string Technician {get; set; }
    public DateTime? AssignedDate {get; set; }
    public string Contact {get; set; }
}