3
У меня есть оператор LINQ, где я хотел бы объединиться в первом адресе с псевдонимом «Я».Неправильно ли вызывать First() несколько раз в LINQ Select?
using (var ctx = new DataEntities())
{
return from c in ctx.Customers.Include("Addresses")
let m = from a in c.Addresses where a.Nickname == "Me" select a
where m.Any()
select new
{
Id = c.CustomerId,
m.First().Name,
m.First().Address1,
m.First().Address2,
m.First().City,
m.First().State,
m.First().Zip,
m.First().Email,
m.First().PhoneNumber
};
}
Я интересно:
- Это собирается повредить производительности, если я позвоню Первые несколько раз, как это?
- Есть ли более эффективная формулировка LINQ для этого?
- Как раз и понял, нужно ли мне .Include («Адреса»)?
на этой ноте, я могу просто дайте мне = c.Addresses.FirstOrDefault (a.Nickname == "Me")? – bendewey
, тогда сравните, где me! = Null – bendewey
Также для записи я использую LINQ to EF – bendewey