2012-03-26 16 views
1

Ich bekomme ein seltsames Verhalten. Ich habe eine Klasse, die ich erstellt habe, die verwendet wird, um Daten zu formatieren, die von einer Dateneinheit in ein Datengrid kompilieren. Ich verwende eine Linq-Abfrage, um eine Liste des Klassentyps aus einer Liste des Entitätstyps zu erstellen. Auf einige der Eigenschaften der Klasse kann über die linq-Abfrage zugegriffen werden, aber andere geben mir einen Fehler. (AMNotStartedPortalDisplay 'enthält keine Definition für' ChecklistStatusID '). Meine Frage ist warum kann linq auf einige Eigenschaften zugreifen, aber nicht auf andere? Ich sehe keinen Grund, warum das passieren sollte.Mit Linq, um eine Klasse zu füllen

Hier ist meine Klasse:

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; } 
} 

Und hier ist die Linq-Abfrage, wie ich es haben so weit:

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 



     }); 

Danke,

Rhonda

Antwort

3

Seien Sie vorsichtig mit Ihre Typen:

public class AMWOTPortalDisplay 

Und dann:

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

Es sieht aus wie Ihre Abfrage sollte wahrscheinlich sein:

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

Oh meine Güte! Es muss Montag sein. Zwei verschiedene Leute sahen sich das an und sahen das nicht. Vielen Dank. – Rhonda

Verwandte Themen