Ho tre tabelle rapporto molti a molti ho unito la tabella tre e selezionare il valore che voglio ma ora ho bisogno di selezionare una riga dal risultato della query da dove specificando il id questo è il mio tavolo a tre espressione lambda join più tabelle con select e where clausola
E questa è la query utilizzando un'espressione LINQ
lambda:
DataBaseContext db = new DataBaseContext();
public ActionResult Index()
{
var UserInRole = db.UserProfiles.
Join(db.UsersInRoles, u => u.UserId, uir => uir.UserId,
(u, uir) => new { u, uir }).
Join(db.Roles, r => r.uir.RoleId, ro => ro.RoleId, (r, ro) => new { r, ro })
.Select(m => new AddUserToRole
{
UserName = m.r.u.UserName,
RoleName = m.ro.RoleName
});
return View(UserInRole.ToList());
}
il risultato sarà come quello query utilizzando sql
sql
interrogazione
select *
from UserProfile u join webpages_UsersInRoles uir on u.UserId = uir.UserId
join webpages_Roles r on uir.RoleId = r.RoleId
risultato della query sql
Ora uso antere sql
query per filtrare il risultato di anteprime sql
query dove e impostare la condizione per where u.UserId = 1
solo a restituirmi l'utente con l'id 1 come quello
select *
from UserProfile u join webpages_UsersInRoles uir on u.UserId = uir.UserId
join webpages_Roles r on uir.RoleId = r.RoleId
where u.UserId = 1
e il risultato di questa sql
interrogazione
così come posso aggiungere il cui clause
alla mia espressione lambda me per dare lo stesso risultato come il risultato della query sql
e grazie per qualsiasi aiuto
riferimento gentile questo http://stackoverflow.com/questions/1524813/convert-this-linq-expression-into-lambda – Ramselvaraj