将VB linq转换为c#linq

时间:2013-12-10 16:54:22

标签: c# vb.net linq

我正在尝试将下面的vb中的链接查询转换为C#。我之前从未做过vb和linq查询,我已经转换为SQL但是这将是linq c#,

VB脚本

 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

1 个答案:

答案 0 :(得分:2)

这是一个很好的起点: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();

另外,我建议你花时间学习C#语法。如您所见,查询看起来几乎相同(只是关键字是小写的,因为C#是区分大小写的语言)

还有一点需要注意 - 如果您想避免异常,那么当可能无法通过查询返回任何结果时,请使用FirstOrDefault()代替First()