내가 가진라는 이름의 테이블 세 개의 레코드와 dbo.EmployeeType
:의 LINQ 코드는 정확한 기록을 반환하지 않습니다
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;
}
}
상관없이 내가에게 보낼 것을 ID :
PK_EmployeetypeID EmployeeTypeName
1 Project Manager
2 Business Analyst
3 Developer
나는 Linq에 코드의 조각이 그것, 그것은 Project Manager
을 반환하고, 왜 나는 혼란 스럽습니다.
'type = ...'에 중단 점을 설정하고 검사하십시오. 거기에 아무 것도 없기 때문에 모두를 얻을 수 있습니다. Select는 LOOKUPEmployeeTypes를 모두 만들어줍니다. FirstOrDefault는 항상 ProjManager 인 첫 번째를 반환합니다. –
코드는 항상 "첫 번째"값을 반환합니다 (DB가 "특별한 순서없이 첫 번째"로 간주됩니다).이 코드가 무엇을 기대합니까? (또는 게시물을 upvoted 사람이 같은 일을했을 수도). –