user3086751
user3086751

Reputation: 205

converting VB linq to c# linq

I am trying to convert link query in vb below to C#. I have never previously done vb and linq query before, I have converted to SQL but what would this be in linq c#,

VB script

 Dim d = (From p In db.tblkeyPages Join keypagetype In db.tblkeyPageTypes On p.keyPageType Equals keypagetype.keyPageType Where keypagetype.keyPageType = 1 Select p.pageContent).First

SQL

select d.keyPageType, d.pageContent from dbo.tblkeyPage as d
join (select keyPageType from dbo.tblkeyPageType )as s 
on d.keyPageType = s.keyPageType
where s.keyPageType = 1

Upvotes: 0

Views: 149

Answers (1)

Sergey Berezovskiy
Sergey Berezovskiy

Reputation: 236218

Here is good starting point: Introduction to LINQ Queries (C#)

var content = (from p in db.tblkeyPages 
               join keypagetype in db.tblkeyPageTypes 
                    on p.keyPageType equals keypagetype.keyPageType
               where keypagetype.keyPageType == 1
               select p.pageContent).First();

Also I suggest you to spend time learning C# syntax. As you can see, query looks almost same (just keywords are lower case, because C# is a case-sensitive language)

One more note - if you want to avoid exception, then use FirstOrDefault() instead of First() when it is possible that no results will be returned by query.

Upvotes: 2

Related Questions