我正在尝试将下面的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
答案 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()
。