Я новичок в использовании Linq, и многое из этого совершенно запутанно.
Я скачал и использовал библиотеку LinqFlickr из http://linqflickr.codeplex.com. Я думаю, однако, что это всего лишь мое отсутствие понимания о Linq. Для меня не хватает документации по проекту LinqFlickr.
Если я запускаю следующий код, если строка имени пользователя пуста, она работает нормально и возвращает фотографии с определенным тегом. Но если в нем есть имя пользователя, он должен уточнить предыдущие результаты по конкретным пользователям, вместо этого он дает мне несколько случайных фотографий.
var photos = (from ph in context.Photos
where
ph.SearchMode == SearchMode.TagsOnly
&& ph.SearchText == tag
&& ph.PhotoSize == PhotoSize.Small
&& ph.Extras == (ExtrasOption.Owner_Name | ExtrasOption.Date_Taken)
select ph);
if (username != "")
{
string personId = (from people in context.Peoples
where
people.Username == username
select people.Id).First();
photos = photos.Where(q => q.NsId == personId) ;
}
photos = photos.Take(10);
Я пытался использовать некоторые средства отладки, такие как LinqPad и MetaLinq, но я не смог решить их с ними.
Кроме того, я уверен, что мой запрос Linq мог бы быть выполнен в одном запросе, что было бы здорово, но, пожалуйста, объясните это, чтобы новичок в Linq мог понять!