KaranGupta
asked on
Left Join LINQ
from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID
Is this situation sufficient for left join in LINQ.
ASKER
Hi sonawanekiran
Where can I add where condition
Where can I add where condition
var result = from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberFrdList
// here condition goes like where M.name =="MyName"
from MF in MemberFrdList.DefaultIfEmp ty()
select new
{
MemberName = MF.Name,
.....
....
};
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberFrdList
// here condition goes like where M.name =="MyName"
from MF in MemberFrdList.DefaultIfEmp
select new
{
MemberName = MF.Name,
.....
....
};
ASKER
Hi sonawanekiran
How can I put the where condition for FriendsList table
How can I put the where condition for FriendsList table
What condition you want?
You can do like this
where MFL.ID == 123
You can do like this
where MFL.ID == 123
ASKER
Hi
I am using this query to get the value from 2 tables, but I am getting the error. Secondly once we get the records in the variable searchresult how can I bind it to a gridview.
var searchResult = (from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberList
where (M.MemberFullName.Contains(searchString) ||
M.MemberEmailID.Contains(searchString))
&& M.IsMemberActive == 1 && M.MemberID != ConfigurationKeys.MemberID
&& MFL.MemberID == ConfigurationKeys.MemberID
from result in MemberList.DefaultIfEmpty()
select new {M.MemberID,M.MemberFullName,M.MemberEmailID,result.IsRelationApproved});
I am using this query to get the value from 2 tables, but I am getting the error. Secondly once we get the records in the variable searchresult how can I bind it to a gridview.
1) What error you are getting
2)
1:
2:
3:
4:
5:
6:
7:
8:
9:
var searchResult = (from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberList
where (M.MemberFullName.Contains (searchStr ing) ||
M.MemberEmailID.Contains(s earchStrin g))
&& M.IsMemberActive == 1 && M.MemberID != ConfigurationKeys.MemberID
&& MFL.MemberID == ConfigurationKeys.MemberID
from result in MemberList.DefaultIfEmpty( )
select new {M.MemberID,M.MemberFullNa me,M.Membe rEmailID,r esult.IsRe lationAppr oved}).ToL ist();
GridView1.DataSource = searchResult;
GridView1.DataBind();
2)
1:
2:
3:
4:
5:
6:
7:
8:
9:
var searchResult = (from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberList
where (M.MemberFullName.Contains
M.MemberEmailID.Contains(s
&& M.IsMemberActive == 1 && M.MemberID != ConfigurationKeys.MemberID
&& MFL.MemberID == ConfigurationKeys.MemberID
from result in MemberList.DefaultIfEmpty(
select new {M.MemberID,M.MemberFullNa
GridView1.DataSource = searchResult;
GridView1.DataBind();
ASKER
The name 'MFL' does not exist in the current context
I think there is syntax error at where condition .
Try this
Try this
(from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberList
where (
(M.MemberFullName.Contains(searchString) || M.MemberEmailID.Contains(searchString))
&& M.IsMemberActive == 1 && M.MemberID != ConfigurationKeys.MemberID
&& MFL.MemberID == ConfigurationKeys.MemberID
)
from result in MemberList.DefaultIfEmpty()
select new {M.MemberID,M.MemberFullName,M.MemberEmailID,result.IsRelationApproved});
ASKER
Hi
I am getting the same error again but when I change the code to
then I am not getting any compile time error but I am getting runtime error
LINQ to Entities does not recognize the method
'System.Collections.Generi c.IEnumera ble`1[Mode l.FriendsL ist] DefaultIfEmpty[FriendsList ](System.C ollections .Generic.I Enumerable `1[Model.F riendsList ])' method, and this method cannot be translated into a store expression.
I am getting the same error again but when I change the code to
var searchResult = (from M in Member
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberList
where (
(M.MemberFullName.Contains(searchString) || M.MemberEmailID.Contains(searchString))
&& M.IsMemberActive == 1 && M.MemberID != ConfigurationKeys.MemberID
)
from result in MemberList.DefaultIfEmpty()
where result.MemberID == ConfigurationKeys.MemberID
select new { M.MemberID, M.MemberFullName, M.MemberEmailID, result.IsRelationApproved }).ToList();
then I am not getting any compile time error but I am getting runtime error
LINQ to Entities does not recognize the method
'System.Collections.Generi
ASKER
Hi
any upates
any upates
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
join MFL in FriendsList
on M.MemberID equals MFL.FriendID into MemberFrdList
from MF in MemberFrdList.DefaultIfEmp
select new
{
MemberName = MF.Name,
.....
....
};