Click here to Skip to main content
15,890,282 members
Please Sign up or sign in to vote.
1.80/5 (3 votes)
See more:
HI ALl,
i have one sql query which i need to rewrite in LINQ?


Can someone please help me ?

SQL
 SELECT  Publications.PublicationID,   Publications.Name, Articles.Title,Publications.PublicationID,Articles.ArticleID,Subscriptions.EmployeeID
		   ,(SELECT CASE WHEN ArticleReadUnread.EmployeeID = 2084 THEN ArticleReadUnread.ArticleID else 0 end) as 'ARTICLEREAD'
		   ,(SELECT  CASE WHEN BookmarkArticles.EmployeeID  = 2084 THEN BookmarkArticles.ArticleID else 0 end) as 'BOOKMARKED'
		   ,ArticleReadUnread.EmployeeID
		   ,BookmarkArticles.EmployeeID 
			
			
FROM                  Subscriptions 
					  INNER JOIN
                      Publications ON Subscriptions.PublicationID = Publications.PublicationID 
                      INNER JOIN
                      Articles ON Publications.PublicationID = Articles.PublicationID 
                      LEFT JOIN 
                      ArticleReadUnread ON Articles.ArticleID = ArticleReadUnread.ArticleID 
                      LEFT JOIN   
                      BookmarkArticles ON Articles.ArticleID = BookmarkArticles.ArticleID 

                      
WHERE    (Subscriptions.EmployeeID = 2084) and Publications.PublicationID=1007 
          and publications.Enabled=1  and Articles.Enabled=1 and Articles.Published=1 
Posted
Updated 1-Jan-18 18:46pm
Comments
dan!sh 3-Mar-14 5:28am    
No one is going to do your work for free. Please put in some effort.
ravikhoda 3-Mar-14 5:29am    
Well this is all i could post for now as linq is very new for me. however will try and add some code which i am trying Right now ....
vivvicks 2-Jan-18 6:25am    
tool name linqpad might help u out

Use tools like LINQPad[^], it's FREE. And read Why LINQ beats SQL[^]
 
Share this answer
 
You can use Linqer for that.There is a trial version also.Try it.

Quote:
Linqer is a SQL to LINQ conversion tool. It helps learning LINQ and convert existing SQL statements.

Linqer
 
Share this answer
 
try with this:

SQL
var query=(from a in Subscriptions  INNER JOIN b in Publications on  a.PublicationID equals b.PublicationID inner join  c in Articles on b.PublicationID equals c.PublicationID  left join d in ArticleReadUnread on c.ArticleID equals d.ArticleID  LEFT JOIN e in
 BookmarkArticles ON c.ArticleID equals e.ArticleID WHERE    (a.EmployeeID = 2084) and b.PublicationID=1007 and b.Enabled=1  and c.Enabled=1 and c.Published=1
 
select new {b.PublicationID,   b.Name, c.Title,b.PublicationID,c.ArticleID,a.EmployeeID
           ,
(SELECT CASE WHEN d.EmployeeID = 2084 THEN d.ArticleID else 0 end) as 'ARTICLEREAD'
           ,(SELECT  CASE WHEN e.EmployeeID  = 2084 THEN e.ArticleID else 0 end) as 'BOOKMARKED'
           ,d.EmployeeID
           ,e.EmployeeID
}).ToList(); 
 
Share this answer
 
v2
SQL
select r.actionitemid from actionitemmast r left join ActionItemResult ra

on r.actionitemid = ra.actionitemid

inner join MemberMast m on r.memberid = m.memberid

inner join MemberMast ma on r.assignfromid = ma.memberid

inner join project_member p on r.memberid = p.memberid

left join projectmast pa on p.projectid = pa.projectid

where (ra.ActionTaken like '%dipa%' or r.Description like '%dipa%'

or r.Task like '%dipa%' or m.First_name like '%dipa%' or ma.First_name like '%dipa%' or pa.projectname like '%dipa%')

group by r.actionitemid
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900