Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LINQ เป็น FEATURE ใหม่ที่ BUILD-IN เข้ามาในตัวภาษาของ .NET FRAMEWORK และ MONO FRAMEWORK
- เข้าใจว่า ในกรณีของคุณคงหมายถึง LINQ TO SQL หรือไม่ก็ ENTITY FRAMEWORK
- ในกรณีนี้ LINQ จะ generate SQL ให้ในแต่ละ Database provider เองค่ะ
- (ในกรณี Entity framework ,EF นะคะ ส่วน LINQ TO SQL ,LTS จะ Support MSSQL อย่างเดว)
- หมายความว่าเราเขียน LINQ เพื่อจัดการกับฐานข้อมูลโดย Syntax ของ LINQ
- แบบเดียวกับทุกๆ ฐานข้อมูลค่ะ
- โดยพื้นฐานแล้ว LINQ พัฒนามาจากแนวคิดเรื่อง ORM (OBJECT RELATION MAPPING)
- ง่ายๆสั้นๆคือ เป็น CONVERT TABLE ,QUERY ,RELATION สิ่งต่างๆในฐานข้อมูล
- ให้มาเป็น OBJECT ของภาษา เพื่อใช้ OOP มาจัดการกับฐานข้อมูล
- เช่น ในการเพิ่มข้อมูล ถ้า Map table มาเป็น Object แล้ว เราไม่ต้องใช้ INSERT STATEMENT
- เพียงแต่ NEW ขึ้นมาตามลักษณะการใช้ Object โดยทั่วไปค่ะ
- >> EmployeeData myEmployee = new EmployeeData ()
- และโดยปกติจะไม่เหลือ SQL STATEMENT ให้เห็นอีกต่อไป คงมีเพียงการใช้ Syntax ของ LINQ
- นี่เป็นภาคทฤษฎีค่ะ ทางปฏิบัติยังมีข้อจำกัดอยู่
- มีข้อแนะนำว่า
- ในกรณี VSS2008
- ถ้าจะใช้ LINQ ควรใช้ LINQ TO SQL
- ส่วน ENTITY FRAMEWORK V1.00 มี BUG เพียบ (ต้องโล้ะออกไปแล้วค่ะ เจอเองเลย)
- และ Microsoft ไม่ได้สนใจที่จะทำ PATCH ออกมาแก้ไข
- แต่ออก EF4 สำหรับ .NET FRAMEWORK 4.0 มาแล้วประกาศให้มาใช้
- Visual Studio 2010 แทนสะหน้าตาเฉยค่ะ
- นอกจากนี้ LINQ ยัง support อีกในหลายลักษณะเช่น
- LINQ to Objects
- LINQ to XML
- LINQ to DataSet
- โดยทั้งหมดมี Syntax ที่ใกล้เคียงกันค่ะ เพื่อให้เราพัฒนา app โดยยึดหลัก OOP
- ได้เต็มประสิทธิภาพมากขึ้นค่ะ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement