voglio legare GridView tramite Entity Framework, ma getta errore come-un tipo anonimo non può avere più oggetti con lo stesso nome
un tipo anonimo non può avere più proprietà con lo stesso nome di entità Framwrok
Ecco il mio metodo.
public void UserList(GridView grdUserList)
{
using (TreDbEntities context = new TreDbEntities())
{
var query =(from m in context.aspnet_Membership
from u in context.aspnet_Users
join usr in context.Users
on new { m.UserId, u.UserId }
equals new { usr.MembershipUserID, usr.UserId }
into UserDetails
from usr in UserDetails
select new {
CreationDate = m.CreateDate,
email = m.Email,
UserName = u.LoweredUserName,
Name = usr.FirstName + usr.LastNameLastName,
Active=usr.IsActive
}).ToList();
}
}
Segnala errore qui. usr.UserId.
Possibile. L'unica cosa è che rende il codice meno auto-esplicativo perché il primo UserId potrebbe non avere nulla a che fare con 'MembershipUserID'. L'utilizzo di due nomi "anonimi" mostra che le proprietà sono solo segnaposto. –
@GertArnold ID primo utilizzo ha qualcosa a che fare con l'appartenenza :) è id dalla tabella aspnet_Membership. Inoltre penso che 'u1' sia molto meno auto-esplicativo di' MembershipUserID'. Ho upvoted la tua risposta quindi è anche completamente corretto e spiega il motivo dell'errore :) –
Certo, nessuna preoccupazione! È solo che mi piace che il mio codice mostri che vengono applicati i nomi di proprietà identiche. Forse solo una questione di gusti. –