Ich habe eine Tabelle mit dem Namen dbo.EmployeeType
mit drei Datensätze:Linq-Code nicht zurück korrekte Datensatz
PK_EmployeetypeID EmployeeTypeName
1 Project Manager
2 Business Analyst
3 Developer
Ich habe dieses Stück Linq-Code:
public static string GetTypeByID(int id)
{
using (ProjectTrackingEntities1 db = new ProjectTrackingEntities1())
{
var type = db.EmployeeTypes.Select(o => new LOOKUPEmployeeType
{
PK_EmployeeTypeID = id,
EmployeeTypeName = o.EmployeeTypeName
});
return type.FirstOrDefault().EmployeeTypeName;
}
}
Egal, welche id ich sende es gibt zurück, und ich bin verwirrt, warum.
Setzen Sie einen Haltepunkt auf 'type = ...' und inspizieren Sie es. Sie haben keine WHERE drin, also bekommen Sie alle - und Select macht aus allen LOOKUPMitarbeiterTypen. FirstOrDefault gibt den ersten zurück, der immer der ProjManager ist. –
Code gibt immer den Wert "first" zurück (welcher DB in keiner bestimmten Reihenfolge als "erster" betrachtet wird) record ... Können Sie bitte klarstellen, was Sie von diesem Code erwarten? (oder jemand, der den Posten hochgestuft hat, könnte dasselbe getan haben). –