Linq의 동료와 토론 중입니다. 여기에서 복사하겠습니다.
동료 : 여기에서 솔직 해집니다. Linq 구문이 짜증납니다. 혼란스럽고 직관적이지 않습니다.
나 : 오, T-SQL보다 더 혼란스러워?
동료 : 예.
나 : 그것은 같은 기본 부분을 가지고 있으며, 선택, 어디서, 그리고
동료 : Linq는 나에게 관계형 + OO의 개자식입니다. 공동 작업자 : 잘못 이해하지 마십시오. 엄청나게 강력하지만 SQL을 다시 사용하여 개체 컬렉션을 다시 사용했습니다.
Linq + Lamda를 사용하는 것이 매우 강력하고 (동의 함) 코드를 읽기 쉽게 만듭니다 (그 시점에 동의하지 않음).
pickFiles = from f in pickFolder.GetFiles("*.txt")
where ValidAuditFileName.IsMatch(f.Name)
select f;
또는
var existing = from s in ActiveRecordLinq.AsQueryable<ScannedEntity>()
where s.FileName == f.FullName && s.DocumentType != "Unknown"
select s;
또는 (여기서 VB 코드)
Dim notVerified = From image In images.AsParallel
Group Join verifyFile In verifyFolder.GetFiles("*.vfy").AsParallel.Where(
Function(v) v.Length > 0
).AsParallel
On image.Name.Replace(image.Extension, ".vfy") Equals verifyFile.Name
Into verifyList = Group
From verify In verifyList.DefaultIfEmpty
Where verify Is Nothing
Select verify
나에게 이것은 깨끗하고 쉽고 (적어도 대안보다 쉽다), 그것에 대한 당신의 의견은 무엇입니까?