У меня есть это SQL заявлениеLinq внешнее соединение и группа по со счетом в выберите
SELECT
users.UserName, COUNT(photos.Id) AS 'photos'
FROM photos
RIGHT JOIN users ON photos.UploaderId = users.Id
GROUP BY users.UserName`
Я пытаюсь построить этот Linq запрос
protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var appContext = new ApplicationDbContext();
var x = from u in appContext.Users
join p in appContext.Photos on u equals p.Uploader into ps
from sp in ps.DefaultIfEmpty()
group ps by u into g
select new { Username = g.Key.UserName, Photos = g.Count() };
e.Result = x;
}
, но я получаю все пользователи без фотографий с 1 возвратившихся от Count()
только то, что я хотел. Благодаря! PS: это i.Uploader! = Null –
Хороший улов; исправленный. Если это ответили на ваш вопрос, пожалуйста, не забудьте нажать галочку, чтобы принять его. –