ho una relazione molti-a-molti definita in questo modo:Entity Framework - Interrogazione una relazione molti-a-molti tabella di relazioni
Employees
--------------
EmployeeID (PK)
Roles
--------------
RoleID (PK)
EmployeeRoles
--------------
EmployeeID (PK, FK)
RoleID (PK, FK)
Sto cercando di ottenere un elenco dei dipendenti, data una lista o RoleIDs:
private MyDBEntities _entities;
public SqlEmployeesRepository(MyDBEntities entities)
{
_entities = entities;
}
public IQueryable<Employee> GetEmployeesForRoles(int[] roleIds)
{
// get employees
}
Ma se provo e faccio _entities.EmployeeRoles
, non v'è alcuna EmployeeRoles oggetto. Il mio edmx assomiglia a questo:
quindi è riconoscere la relazione tra le due tabelle, ma non è la creazione di un oggetto entità per EmployeeRoles.
Come è possibile ottenere un elenco distinto di dipendenti in base a un elenco di ID ruolo?
Lol, stavo per postare questo come alternativa alla tua prima soluzione (con 'Distinct' ecc.), Ma ora non c'è più alternativa. Puoi lasciare la tua prima soluzione come un'altra opzione nella tua risposta. Era un modo interessante o c'era qualcosa di sbagliato in esso? – Slauma
@Slauma: Sì, è un'alternativa - ma questo mi è sembrato più diretto dopo aver esaminato il problema, quindi ho graffiato il primo approccio - lascia che lo scavassi di nuovo ;-) – BrokenGlass