Olyan lekérdezést próbálok írni, amely egy DTO-ra vetít, ahol a tulajdonságok közül kettő int tömb. Hibaüzenetet kapok a ToArray() hívás miatt a vetítésben.
teams = context
.Teams
.Include("TeamDepartments")
.Include("TeamEmployees")
.Select(t => new TeamDto
{
sourceSystemId = t.TeamId,
name = t.Name,
manager = t.EmployeeIdTeamManager,
teamLead = t.EmployeeIdTeamLead,
employees = t.TeamEmployees.Select(te => te.EmployeeId).ToArray(),
departments = t.TeamDepartments.Select(td => td.DepartmentId).ToArray()
})
.ToList();
Az alkalmazottak és a részlegek esetében, amelyek a két int[ ] tulajdonság, hogyan szerezhetem meg ezeket az értékeket? Egyelőre csak visszahúzom a csapatok listáját, majd körbejárom őket, hogy létrehozzam a DTO-t.
Láttam más hasonló kérdéseket is, de úgy tűnik, hogy a megoldások nem működnek számomra. Gyanítom, hogy van még egy lépés, amit meg kell tennem, mert keresztülmegyek egy kapcsolaton.
ToList
azért szükséges, mert a lekérdezést le kell futtatni a szerveren a következőSelect
hívás előtt, amely aToArray
hívásokkal vetíti a DTO-t, mivel ezek a hívások nem fordíthatók SQL-re. 24.05.2013