1
我们正在慢慢地将一些VB.Net代码转换为C#,所以我试图在C#中学习正确的语法。有人可以帮助完成此转换吗?基本上,我从一个视图中拖出所有尚未在另一个表中选择(保存)的值并对这些项目进行搜索。Linq - 通过查询将VB.Net转换为C#帮助
员工a,b,c,d位于Employee表中。 我已经选择并保存员工a和b。 现在,当我重新运行搜索时,它应该排除员工a和b,并且只有在满足搜索条件时才搜索c和d。
这适用于vb.net查询。我试图弄清楚如何翻译。
感谢您的帮助!我认为这是一个非常简单的翻译,我只是遇到了一些麻烦。
Dim query = From tmp In context.vw_EmployeeDemographics _
Where Not (From jitrv In context.JITRuleValidations
Join e In context.Employees On jitrv.Employee_RecordID Equals e.RecordID _
Where jitrv.Parent_RecordID = Parent_RecordID _
Select e.RecordID).Contains(tmp.Parent_RecordID) And
context.fn_ConcatName(tmp.FirstName, tmp.MiddleName,
tmp.LastName).Contains(_master.pSearchValue1) _
Order By tmp.LastName.ToUpper(), tmp.FirstName.ToUpper() _
Select FirstName = tmp.FirstName, MiddleName = tmp.MiddleName,
LastName = tmp.LastName, RecordID = tmp.EmployeeID, _
DisplayText = context.fn_ConcatName(tmp.FirstName, tmp.MiddleName, tmp.LastName)
您也可以拆分两个条件为单独“何处“条款。即其中!validations.Contains(tmp.Parent_RecordID)其中DisplayText.Contains(_master.pSearchValue1) 我喜欢这样做,只要条款彼此不相关 - 使它更干净,更可读,恕我直言。 – GalacticCowboy 2010-01-08 14:58:29
感谢您的回复。这实际上帮助了我很多其他的问题。现在,在C#LINQ上购买一本书:) – sugarcrum 2010-01-08 15:02:40