|
|
|
LINQ คืออะไรครับ....อ่านแล้วยังงง ๆ ครับ แล้วต่างกับ sql ยังไงครับ |
|
|
|
|
|
|
|
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
ได้เต็มประสิทธิภาพมากขึ้นค่ะ
จบข่าว พราวน้อย กลอยใจ
สำนักข่าวแว่นดำ รายงาน
|
|
|
|
|
Date :
2010-06-23 02:47:32 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ว่าง ๆ เดียวคงจะมีบทความไว้มาให้อ่านกันครับ
Introduction to Linq ใน .net 3.5 ตอนที่1 พยายามจะเขียนมาเรื่อยๆนะครับ อยากให้ลองเปลี่ยนมาใช้ Linq ดู
|
|
|
|
|
Date :
2010-06-27 20:32:34 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอชัดๆกว่านี้ดิ LINQ คืออะไร หลักการทำงานของมันเป็นยังไง มีข้อดี-ข้อเสียยังไง
|
|
|
|
|
Date :
2012-01-18 21:21:27 |
By :
aOx_pOm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จริงๆ no.1 ก็ตอบไปแล้วแหละ
linq คือ o/r mapping
o/r mapping คือ การแมพระว่าง object database กับ relational database
สร้างมาเพื่อตอบสนองนีดของ programmer ที่ต้องการความเป็น oop จ้า
เพราะการใช้การ relational database ก็ต้องใช้ sql command ซึ่งในส่วนนี้จับต้องไม่ได้
ดังนั้นจึงมีความพยายามที่จะสร้างตัวกลางที่จะติดต่อกับ relational database ด้วย
syntax ที่เป็น oop แทนการใช้คำสั่ง
ข้อดีคือ
1. ถูกใจข้าพเจ้ายิ่ง
2. เวลา syntax ผิดก็รู้เลย ไม่ต้องรอดูผลตอนรัน
3. พอสร้างเป็น class แล้วทุกอย่างก็ง่ายไปหมด ไม่ต้องสร้าง command สร้าง reader หรือ adapter ให้ยุ่งยากอีกต่อไป
ข้อเสียคือ
1. จะสร้าง table อะไรแต่ละทีก็ต้องสร้างเป็น class (ข้าพเจ้าไม่นิยมลากวางๆ ข้าพเจ้าชอบโค้ดเอง)
2. เวลา query บางอย่างใช้ sql command จะทำได้ง่ายกว่า
3. ข้าพเจ้ารู้สึกว่ามันช้ากว่าใช้ sql command นะ (ใช้ความรู้สึกและประสบการณ์ ยังไม่ได้ศึกษาดู)
|
|
|
|
|
Date :
2012-05-10 15:33:28 |
By :
พี่หมี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้เริ่มซะทีครับ
Entity Framework (EF) สอนเขียน LINQ to Entities บน .NET Application
|
|
|
|
|
Date :
2015-10-11 19:21:29 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ กำลังอยากรู้พอดีเลย
|
|
|
|
|
Date :
2015-10-13 09:37:52 |
By :
thipatchai |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|