我的行为很奇怪。我有一个我创建的类,用于格式化从数据实体到数据网格的数据。我是使用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
});
谢谢,
朗达
答案 0 :(得分:3)
小心你的类型:
public class AMWOTPortalDisplay
然后:
Select(c => new AMNotStartedPortalDisplay { ... })
看起来您的查询应该是:
Select(c => new AMWOTPortalDisplay { ... })