`from..where` lub` FirstOrDefault` w LINQ
Tradycyjnie, gdy próbowałem pobrać dane dla użytkownika z bazy danych, i zastosowałem następującą metodę (do pewnego stopnia):
DbUsers curUser = context.DbUsers.FirstOrDefault(x => x.u_LoginName == id);
string name = curUser.u_Name;
string email = curUser.u_Email;
Widać, że wszystko, co chcę zrobić, to pobrać nazwę i adres e-mail, ale wydaje mi się, że to zapytanie LINQ się pojawiawszystko przechowywane w bazie danych tego użytkownika, przywracające go, a następnie pozwalające uzyskać to, czego chcę.
Prowadziłem badania i znalazłem następującą alternatywę:
var current = from s in context.DbUsers
where s.u_LoginName == id
select new {
name = s.u_Name,
email = s.u_Email
};
foreach (var user in current)
{
//Stuff Here
}
Co byłoby lepsze, jeśli w ogóle? Czy istnieje lżejsza metoda, gdy chcę pobrać tylko kilka wyników / danych?