the below linq query shows me all the result set, instead of filtering it with where clause premalink.PremalinkID == id???
lstpremalink = dalpremalink.GetUserNewsFeed(UserID);
var premalinkid = (from p in lstpremalink select p.PremalinkID).Distinct();
foreach (Int64 id in premalinkid)
{
lstprema = (from premalinktags in lstpremalink
where premalinktags.PremalinkID == id
select premalinktags).ToList();
}
lstprema shows all the result set below

You iterate by
premalinktagsbut yourwhereclause does not contain that variable! Shouldn’t it bepremalinktags.PremalinkID == idinstead?