使用Linq填充一个类

时间:2012-03-26 18:36:10

标签: linq

我的行为很奇怪。我有一个我创建的类,用于格式化从数据实体到数据网格的数据。我是使用linq查询从实体类型列表中创建类类型的列表。可以从linq查询访问该类的某些属性,但其他属性给我一个错误。 (AMNotStartedPortalDisplay'不包含'ChecklistStatusID'的定义)。所以我的问题是为什么linq可以访问某些属性但不能访问其他属性?我认为没有理由这样做。

这是我的班级:

public class AMWOTPortalDisplay
{
    public string DisplayName { get; set; }
    public string LOB { get; set; }
    public string DisplayProjectPackages { get; set; }
    public string ChecklistStatus { get; set; }
    public int ChecklistStatusID { get; set; }
    public string InstallDate { get; set; }
    public string dateToYellow { get; set; }
    public string dateToRed { get; set; }
    public string ApplicationManager { get; set; }
    public string ApplicationManagerLanID { get; set; }
    public int ApplicationManagerUserID { get; set; }
    public string ImpersonatedManager { get; set; }
    public string ImpersonatedManagerLanID { get; set; }
    public int ImpersonatedManagerUserID { get; set; }
    public string DelegateName { get; set; }
    public string DelegateLanID { get; set; }
    public int DelegateUserID { get; set; }
    public string WOTAssignee { get; set; }
    public int ChecklistID { get; set; }
    public string DisplayLinkText { get; set; }
    public string LinkTextURL { get; set; }
    public string rowColor { get; set; }
    public string rowTextColor { get; set; }
}

这是迄今为止我所拥有的linq查询:

var portaldisplay = checklists
        .Select(c => new AMNotStartedPortalDisplay
        {
            DisplayName = string.Format("{0} ({1})", c.Application.Name, c.Application.ApplicationID),
            LOB = c.Application.LOB,
            ChecklistStatus = c.ChecklistStatusType.TypeName,
            ChecklistStatusID = c.ChecklistStatusTypeID



        });

谢谢,

朗达

1 个答案:

答案 0 :(得分:3)

小心你的类型:

public class AMWOTPortalDisplay

然后:

Select(c => new AMNotStartedPortalDisplay { ... })

看起来您的查询应该是:

Select(c => new AMWOTPortalDisplay { ... })