Skip to main content

แบบสอบถามแบบบูรณาการภาษาคืออะไร?

การค้นหาแบบบูรณาการภาษา (LINQ) ให้ความสามารถในการรวมไวยากรณ์การสืบค้นแบบคิวรีแบบประกาศเข้ากับภาษาที่จำเป็นโดยส่วนใหญ่เป็น C# และ VB.NETการพัฒนา LINQ ช่วยแก้ไขปัญหาที่นักพัฒนาทำงานในสภาพแวดล้อมที่มุ่งเน้นวัตถุที่พบเมื่อทำการสอบถามมันถูกนำมาใช้เป็นส่วนหนึ่งของ Microsoft reg;.NET Framework เวอร์ชัน 3.5 ในเดือนพฤศจิกายน 2550 และใน Visual Studio reg;Codename Orcas.

ก่อนการสร้างแบบสอบถามแบบบูรณาการภาษาภาษา. NET ไม่มีวิธีการแบบสอบถามฐานข้อมูลเชิงสัมพันธ์หรือเอกสาร XMLนักพัฒนาที่เขียนในภาษาเหล่านี้ต้องฝัง SQL หรือ XQuery ตามลำดับเป็นสตริงและแมปข้อมูลที่เกิดขึ้นด้วยตนเองกับวัตถุ. NETไม่สามารถตรวจสอบสตริงแบบสอบถามและการแมปไม่สามารถตรวจสอบได้โดย. NET คอมไพเลอร์ทำให้เกิดข้อผิดพลาดที่อาจเกิดขึ้นได้ในเวลาทำงาน

นักพัฒนาปัญหาอื่นต้องเผชิญก่อนที่การค้นหาแบบบูรณาการภาษาคือภาษา.วัตถุสุทธิโดยทั่วไปแล้วนักพัฒนาจะทำซ้ำในคอลเลกชันแหล่งที่มาทั้งหมดสร้างคอลเลกชันผลลัพธ์ใหม่ตามเกณฑ์การค้นหานักพัฒนาสามารถแปลงข้อมูลในขณะที่สร้างคอลเลกชันผลลัพธ์วิธีการนี้ยุ่งยากแบบสอบถามเลือกอย่างง่ายที่เขียนใน C# หรือ VB จะต้องใช้รหัสอย่างน้อยห้าบรรทัดในขณะที่แบบสอบถามเดียวกันจะต้องใช้รหัสหนึ่งบรรทัดในภาษาแบบสอบถาม

ความท้าทายของการสืบค้นภายในสภาพแวดล้อมที่มุ่งเน้นวัตถุทำให้ Microsoft เป็นแรงผลักดันสร้าง linqLINQ จัดเตรียมไวยากรณ์การสืบค้นของ SQL ที่จะใช้ในบรรทัดกับ C# หรือ VB พร้อมด้วยการตรวจสอบประเภทคงที่เมื่อสอบถามคอลเลกชัน. NET แทนที่จะใช้ลูปซ้อนกันนักพัฒนาสามารถใช้ไวยากรณ์ LINQ เพื่อเลือกรายการและแปลงข้อมูลในบรรดาข้อดีอื่น ๆ สิ่งนี้ส่งผลให้รหัสน้อยกว่าเมื่อเทียบกับไวยากรณ์เชิงวัตถุอย่างหมดจด

เมื่อเข้าถึงแหล่งข้อมูลภายนอก LINQ และส่วนประกอบที่สนับสนุนจะช่วยลบความจำเป็นในการใช้ภาษาแบบสอบถามแบบสอบถามและการแมปข้อมูลภายในภาษา. NET เองในการดำเนินการแมปข้อมูล LINQ ขึ้นอยู่กับส่วนประกอบที่เรียกว่าผู้ให้บริการ LINQLINQ-to-Objects เป็นผู้ให้บริการหุ้นที่ช่วยให้ LINQ สามารถเข้าถึงคอลเลกชัน. NET ได้ในทำนองเดียวกันมีผู้ให้บริการเพื่อเข้าถึงฐานข้อมูลเชิงสัมพันธ์และเอกสาร XMLผู้ให้บริการเหล่านี้ส่วนใหญ่เป็นองค์ประกอบของบุคคลที่สามที่ไม่รวมอยู่ใน. NET Frameworkโดยไม่คำนึงถึงผู้ให้บริการที่ใช้การสืบค้นทั้งหมดใช้ไวยากรณ์ LINQ เดียวกัน

ระหว่างไวยากรณ์แบบสอบถามแบบบูรณาการภาษาและผู้ให้บริการเป็นไลบรารีของผู้ให้บริการสืบค้นที่เพิ่มลงใน. NET Framework เป็นส่วนหนึ่งของโรงงาน LINQผู้ประกอบการเหล่านี้ดำเนินงานเช่นการกรองการสั่งซื้อการตั้งค่าการดำเนินงานทฤษฎีและการรวมตัวเนื่องจากผู้ประกอบการเหล่านี้เป็นส่วนหนึ่งของเฟรมเวิร์ก. NET พวกเขาจึงสามารถใช้งานได้โดยไม่ต้องใช้ LINQ หากนักพัฒนาเลือกเลือก