Reputation: 704
I have two Linq queries that work:
List<UserModel> userslist2 =
(from USZipCode in _db.USZipCodes
where SqlFunctions.SquareRoot(.....) <= 25
join User in _db.Users on USZipCode.ZipCode equals User.ZipCode
select User).Take(10000).ToList();
var x = (from user in userslist2
where (user.Ethnicity == Ethnicity) &&
(user.Sex == Gender) &&
(user.HasProfilePhoto == HasProfilePic)
select new SearchResultsViewModel
{
_userid = user.UserID,
_username = user.UserName,
_sex = user.Sex,
_city = user.City,
_state = user.State,
}).Take(800).ToList();
I want to combine the two clauses and I came up with the following, but it is giving errors (won't compile):
var x = (from user in
(from USZipCode in _db.USZipCodes
where SqlFunctions.SquareRoot(.....) <= 25
join User in _db.Users on USZipCode.ZipCode equals User.ZipCode
select User).Take(10000).ToList().Where( user.Ethnicity == Ethnicity &&
user.Sex == Gender &&
user.HasProfilePhoto == HasProfilePic)
select new SearchResultsViewModel
{
_userid = user.UserID,
_username = user.UserName,
_sex = user.Sex,
_city = user.City,
_state = user.State,
}).Take(800).ToList();
Upvotes: 0
Views: 52
Reputation: 10583
This question is not well asked, but to combine two LINQ queries you can... well, combine two LINQ queries:
var userslistQuery =
(from USZipCode in _db.USZipCodes
where SqlFunctions.SquareRoot(.....) <= 25
join User in _db.Users on USZipCode.ZipCode equals User.ZipCode
select User).Take(10000);
var x = (from user in userslistQuery
where (user.Ethnicity == Ethnicity) &&
(user.Sex == Gender) &&
(user.HasProfilePhoto == HasProfilePic)
select new SearchResultsViewModel
{
_userid = user.UserID,
_username = user.UserName,
_sex = user.Sex,
_city = user.City,
_state = user.State,
}).Take(800).ToList();
Just use the query, not the resultant List
.
Upvotes: 1