Entity Framework VS LINQ ไปยัง SQL VS ADO.NET พร้อมโพรซีเดอร์ที่เก็บไว้? [ปิด]


430

คุณจะให้คะแนนแต่ละคนอย่างไรในแง่ของ:

  1. ประสิทธิภาพ
  2. ความเร็วในการพัฒนา
  3. รหัสที่ใช้งานง่ายสามารถบำรุงรักษาได้
  4. มีความยืดหยุ่น
  5. ทั้งหมด

ฉันชอบ SQL ของฉันและเป็นแฟนตัวยงของ ADO.NET และขั้นตอนการจัดเก็บอยู่เสมอ แต่เมื่อเร็ว ๆ นี้ฉันได้เล่นกับ Linq ไปยัง SQL และถูกลมพัดปลิวไปตามความเร็วที่ฉันเขียนชั้น DataAccess และตัดสินใจที่จะใช้จ่ายอย่างรวดเร็ว บางครั้งการเข้าใจ Linq ถึง SQL หรือ EF ... หรือไม่?

ฉันแค่ต้องการตรวจสอบว่าไม่มีข้อบกพร่องที่ยอดเยี่ยมในเทคโนโลยีเหล่านี้ที่จะทำให้เวลาในการวิจัยของฉันไร้ประโยชน์ ประสิทธิภาพเช่นแย่มากมันยอดเยี่ยมสำหรับแอพที่เรียบง่าย แต่สามารถพาคุณไปได้ไกล

ปรับปรุง: คุณสามารถมุ่งความสนใจไปที่ EF VS L2S VS SP ได้มากกว่า ORM VS SPs หรือไม่ ฉันสนใจ EF VS L2S เป็นหลัก แต่ก็กระตือรือร้นที่จะเปรียบเทียบกับ procs ที่เก็บไว้เช่นกันเนื่องจาก SQl ธรรมดาเป็นสิ่งที่ฉันรู้มากเกี่ยวกับ


94
ไม่สร้างสรรค์และยังมี upvotes มากมาย? ... ;)
BritishDeveloper

34
ฉันไม่เห็นว่าทำไมมีคนทำเครื่องหมายว่าไม่สร้างสรรค์ มันดูดีสำหรับฉันจริงๆ +1 จากฉัน
Thanushka

10
นี่เป็นคำถามที่ยอดเยี่ยมในมุมมองของฉัน โดยส่วนตัวแล้วฉันสังเกตว่า Entity Framework และ ORM ที่คล้ายกันทั้งหมดนั้นช้าลงเมื่อเทียบกับรหัส ADO.Net แบบธรรมดา / แบบธรรมดา ฉันทำแบบทดสอบนี้เมื่อ 2 ปีก่อนแล้วย้อนกลับไปอีกหนึ่งสัปดาห์ ฉันไม่แน่ใจว่า LINQ กับ SQL เปรียบเทียบกับ EF อย่างไร แต่ ADO.Net จะให้ประสิทธิภาพที่ดีที่สุดเสมอ หากคุณต้องการประหยัดเวลาในการพัฒนา Entity Framework เป็นเครื่องมือที่ดี แต่ไม่แน่นอนเมื่อประสิทธิภาพเป็นประเด็นหลักของคุณ
นิล

2
@Timeless: มีแนวโน้มที่จะไม่พึ่งพากลไกฐานข้อมูล เอ็นจินฐานข้อมูลทุกตัวมีภาษาของโพรซีเดอร์ที่เก็บไว้เองดังนั้นจึงมีการเรียนรู้เพิ่มเติม 99.9% ของนักพัฒนาสามารถพึ่งพา ORMs ซึ่งสร้างโค้ดที่ค่อนข้างดีและสร้าง SQL โดยอัตโนมัติ ความแตกต่างของประสิทธิภาพเป็นเล็กน้อยในกรณีที่ CRUD ง่าย ขั้นตอนการจัดเก็บยากที่จะพัฒนาและบำรุงรักษา ไม่กี่ปีที่ผ่านมาเมื่อไม่มี ORMs และไม่มีสิ่งใดถูกสร้างขึ้นอย่างน่าอัศจรรย์และโดยอัตโนมัติจากฐานข้อมูล การเขียน SP ถือว่าใช้เวลาไม่นานเนื่องจากเป็นทางเลือกในการเขียนคำสั่ง SQL ในแอปพลิเคชัน
LukLed

4
@Sunil ถูกต้องแม้ว่าจะไม่พูดมากพอ ปัญหาคือทุกคนคิดว่าความกังวลหลักของพวกเขาคือประสิทธิภาพของแอพ เมื่อฉันพูดถึงแอพที่ต้องการประสิทธิภาพสูงสุดฉันคิดถึงการทำธุรกรรมฐานข้อมูลลูกค้าที่เผชิญกับลูกค้าจำนวนมากใน C ++ MMO หรือปริมาณมาก คุณควรมุ่งเน้นไปที่หลักการเชิงวัตถุเช่นการบำรุงรักษา , การอ่าน , การติดตาไม่รู้และแยกตรรกะโดเมน โดยเฉพาะอย่างยิ่งเมื่อการเพิ่มประสิทธิภาพเป็นเรื่องรองลงมาที่ดีที่สุดหรือไม่มีอยู่ในหลายกรณี
Suamere

คำตอบ:


430

ก่อนอื่นถ้าคุณเริ่มต้นโครงการใหม่ไปที่ Entity Framework ("EF") - ตอนนี้จะสร้าง SQL ที่ดีกว่า (เช่น Linq ไปจนถึง SQL ทำ) และง่ายต่อการบำรุงรักษาและมีประสิทธิภาพมากกว่า Linq ถึง SQL (" L2S ") ในฐานะที่เป็น. NET 4.0 ฉันคิดว่า Linq to SQL เป็นเทคโนโลยีที่ล้าสมัย MS เปิดกว้างมากเกี่ยวกับการไม่พัฒนา L2S อย่างต่อเนื่อง

1) ประสิทธิภาพ

นี่เป็นเรื่องยุ่งยากที่จะตอบ สำหรับการดำเนินงานส่วนใหญ่เดียว ( CRUD ) คุณจะพบประสิทธิภาพที่เทียบเท่ากับเทคโนโลยีทั้งสามนี้ คุณต้องรู้ว่า EF และ Linq กับ SQL ทำงานอย่างไรเพื่อใช้งานอย่างเต็มที่ สำหรับการดำเนินการในปริมาณมากเช่นแบบสอบถามแบบสำรวจความคิดเห็นคุณอาจต้องการคอมไพล์ EF / L2S "คอมไพล์" ของคุณซึ่งเฟรมเวิร์กไม่จำเป็นต้องสร้าง SQL ใหม่ตลอดเวลาหรือคุณอาจพบปัญหาเรื่องความยืดหยุ่น (ดูการแก้ไข)

สำหรับการอัปเดตจำนวนมากที่คุณกำลังอัปเดตข้อมูลจำนวนมาก SQL ดิบหรือโพรซีเดอร์ที่เก็บไว้จะทำงานได้ดีกว่าโซลูชัน ORM เสมอเนื่องจากคุณไม่จำเป็นต้องรวบรวมข้อมูลผ่านทางสายไปยัง ORM เพื่อทำการอัปเดต

2) ความเร็วในการพัฒนา

ในสถานการณ์ส่วนใหญ่ EF จะใช้ SQL / procs ที่จัดเก็บแบบเปล่าเมื่อถึงความเร็วของการพัฒนา นักออกแบบของ EF สามารถอัปเดตโมเดลของคุณจากฐานข้อมูลของคุณเมื่อมีการเปลี่ยนแปลง (ตามคำขอ) ดังนั้นคุณจะไม่พบปัญหาการซิงโครไนซ์ระหว่างรหัสวัตถุและรหัสฐานข้อมูลของคุณ ครั้งเดียวที่ฉันจะไม่พิจารณาใช้ ORM คือเมื่อคุณทำแอปพลิเคชันประเภทการรายงาน / แดชบอร์ดที่คุณไม่ได้ทำการอัปเดตใด ๆ หรือเมื่อคุณกำลังสร้างแอปพลิเคชันเพียงเพื่อดำเนินการบำรุงรักษาข้อมูลดิบบนฐานข้อมูล

3) รหัสเรียบร้อย / บำรุงรักษา

ในทางตรงกันข้าม EF จะเอาชนะ SQL / sprocs เนื่องจากความสัมพันธ์ของคุณเป็นแบบจำลองการรวมในรหัสของคุณค่อนข้างบ่อย ความสัมพันธ์ของเอนทิตีเกือบจะปรากฏชัดต่อผู้อ่านสำหรับการค้นหาส่วนใหญ่ ไม่มีอะไรเลวร้ายยิ่งไปกว่าการเปลี่ยนจากระดับไปเป็นระดับแก้จุดบกพร่องหรือผ่านหลายระดับ SQL / ระดับกลางเพื่อให้เข้าใจว่าเกิดอะไรขึ้นกับข้อมูลของคุณ EF นำแบบจำลองข้อมูลของคุณมาไว้ในโค้ดของคุณในวิธีที่ทรงพลังมาก

4) ความยืดหยุ่น

Procs ที่จัดเก็บและ SQL ดิบนั้น "ยืดหยุ่น" ได้มากกว่า คุณสามารถใช้ประโยชน์จาก sprocs และ SQL เพื่อสร้างการสืบค้นที่เร็วขึ้นสำหรับกรณีเฉพาะที่แปลกและคุณสามารถใช้ประโยชน์จากฟังก์ชั่นฐานข้อมูลเนทิฟได้ง่ายกว่าที่คุณสามารถทำได้ด้วยและ ORM

5) โดยรวม

อย่าจมดิ่งลงไปในการแบ่งขั้วที่ผิดพลาดในการเลือก ORM เทียบกับการใช้กระบวนงานที่เก็บไว้ คุณสามารถใช้ทั้งในแอปพลิเคชันเดียวกันและคุณควร การดำเนินการจำนวนมากควรดำเนินการตามขั้นตอนที่เก็บไว้หรือ SQL (ซึ่งสามารถเรียกได้โดย EF) และควรใช้ EF สำหรับการดำเนินงาน CRUD ของคุณและความต้องการระดับกลางส่วนใหญ่ของคุณ บางทีคุณอาจเลือกที่จะใช้ SQL เพื่อเขียนรายงานของคุณ ฉันเดาว่าคุณธรรมของเรื่องราวนั้นเหมือนกับที่เคยเป็นมา ใช้เครื่องมือที่เหมาะสมสำหรับงาน แต่ความผอมของมันก็คือ EF ปัจจุบันดีมาก ๆ (ณ . NET 4.0) ใช้เวลาในการอ่านและทำความเข้าใจในเชิงลึกแบบเรียลไทม์และคุณสามารถสร้างแอพที่น่าทึ่งและมีประสิทธิภาพสูงได้อย่างง่ายดาย

แก้ไข : EF 5 ทำให้ส่วนนี้ง่ายขึ้นเล็กน้อยด้วยการสืบค้นอัตโนมัติ LINQแต่สำหรับสิ่งที่มีปริมาณมากจริง ๆ คุณจะต้องทดสอบและวิเคราะห์สิ่งที่เหมาะสมที่สุดสำหรับคุณในโลกแห่งความเป็นจริง


35
คำตอบที่ยอดเยี่ยมอย่างแน่นอน ตอนนี้ฉันใช้ EF เพื่อพัฒนาแอปอย่างรวดเร็ว หากประสิทธิภาพกลายเป็นปัญหา procs ที่จัดเก็บไว้จะถูกนำไปใช้เพื่อสร้างการสอบถาม EF ที่มีประสิทธิภาพไม่ดี ขอบคุณ!
พัฒนาชาวอังกฤษ

17
@BritishDeveloper: นอกจากนี้อย่าลืมพลังของการใช้มุมมองเช่นกัน เราประสบความสำเร็จอย่างยอดเยี่ยมด้วยการกำหนดมุมมองสองสามอย่างในโครงการ L2S ของเราและใช้ประโยชน์จากสิ่งเหล่านั้นโดยที่เฟรมเวิร์กดูเหมือนจะเขียนข้อความค้นหาที่ไม่ดี ด้วยวิธีนี้เราได้รับประโยชน์ทั้งหมดจากการใช้เฟรมเวิร์กกับผลประโยชน์ทั้งหมดของการเขียน SQL ของเรา
Dave Markle

5
ฉันใช้ Views;) เพื่อใช้เป็นข้อ จำกัด ด้าน non-cross db ของ EF ความคิดที่ดีสำหรับการใช้เพื่อเพิ่มประสิทธิภาพแม้ว่า ขอบคุณ
BritishDeveloper

5
คำตอบที่ดีอย่างแน่นอน แค่ต้องการเพิ่มการสังเกตที่ฉันมีในประสบการณ์ของตัวเองกับ L2S กับ EF4 เปลี่ยนจาก L2S -> EF4 หลังจากที่เรารู้ว่าเราอาจใช้ differnet RDMBS หลายตัว ... แต่ในขณะที่ยังคงใช้ MSSQL ประสิทธิภาพการทำงานที่ลดลงแสดงในพื้นที่ GUI ของแอพของฉันเป็นหลัก การเชื่อมโยงกับชุดผลลัพธ์ใน L2S นั้นเร็วกว่า EF4 มาก มันเป็นข้อความค้นหาเดียวกันในฐานข้อมูลเดียวกัน สิ่งหนึ่งที่ควรทราบที่นี่แม้ว่าฉันจะคืนระเบียน 90k + ดังนั้นความแตกต่างก็ค่อนข้างชัดเจน บางทีในชุดเล็กมันไม่ใช่ปัญหาใช่ไหม ไม่แน่ใจว่ามันจะขนาดแม้ว่าจะมีเว็บไซต์ปริมาตรสูง ...
bbqchickenrobot

5
การตอบสนองที่ดี ฉันเพิ่งใช้เวลา 4 สัปดาห์ในการทำงานกับ LINQ-to-Entities พยายามที่จะใส่ทุกอย่างเข้าไปในนั้นก่อนที่จะรู้ตัวว่าคุณต้องการ SQL ดั้งเดิมสำหรับสิ่งต่าง ๆ เช่นการคัดลอกจำนวนมากการลบจำนวนมากการลบสำเนาที่รวดเร็วเป็นพิเศษจากฐานข้อมูล เครื่องมือที่เหมาะสมสำหรับงานไม่มีความละอายในการผสาน Native SQL กับกรอบ LINQ to Entities
Contango

93

ขั้นตอนการจัดเก็บ:

(+)

  • ความยืดหยุ่นที่ดีเยี่ยม
  • ควบคุม SQL อย่างเต็มรูปแบบ
  • ประสิทธิภาพสูงสุดที่มี

(-)

  • ต้องการความรู้เกี่ยวกับ SQL
  • กระบวนงานที่เก็บไว้ไม่อยู่ในการควบคุมของแหล่งที่มา
  • จำนวนที่สำคัญของ "การทำซ้ำตัวเอง" ในขณะที่ระบุชื่อตารางและฟิลด์เดียวกัน โอกาสสูงในการทำลายแอปพลิเคชันหลังจากเปลี่ยนชื่อเอนทิตี DB และขาดการอ้างอิงบางอย่างไปที่อื่น
  • การพัฒนาช้า

ออม:

(+)

  • การพัฒนาอย่างรวดเร็ว
  • รหัสการเข้าถึงข้อมูลตอนนี้อยู่ภายใต้การควบคุมแหล่ง
  • คุณถูกโดดเดี่ยวจากการเปลี่ยนแปลงในฐานข้อมูล หากเป็นเช่นนั้นคุณจะต้องอัปเดตโมเดล / การแมปในที่เดียวเท่านั้น

(-)

  • ประสิทธิภาพอาจแย่ลง
  • ไม่มีการควบคุม SQL เล็กน้อยที่ ORM สร้างขึ้น (อาจไม่มีประสิทธิภาพหรือเลวร้ายยิ่งกว่านั้น) อาจต้องเข้าไปแทรกแซงและแทนที่ด้วยโพรซีเดอร์ที่เก็บแบบกำหนดเอง ที่จะทำให้รหัสของคุณยุ่ง (บาง LINQ ในรหัส, SQL บางอย่างในรหัสและ / หรือในฐานข้อมูลออกจากการควบคุมแหล่งที่มา)
  • สิ่งที่เป็นนามธรรมสามารถสร้างนักพัฒนา "ระดับสูง" ได้โดยไม่รู้ว่ามันทำงานอย่างไรภายใต้ประทุน

ข้อเสียเปรียบทั่วไปคือการมีความยืดหยุ่นสูงและเสียเวลามากเมื่อเทียบกับการ จำกัด ในสิ่งที่คุณสามารถทำได้ แต่ทำได้เร็วมาก

ไม่มีคำตอบทั่วไปสำหรับคำถามนี้ มันเป็นเรื่องของสงครามศักดิ์สิทธิ์ ยังขึ้นอยู่กับโครงการในมือและความต้องการของคุณ เลือกสิ่งที่ดีที่สุดสำหรับคุณ


47
ฉันไม่คิดว่าประเด็นเกี่ยวกับการควบคุมแหล่งข้อมูลมีความเกี่ยวข้อง สกีมาฐานข้อมูล, โพรซีเดอร์ที่เก็บ, UDF ฯลฯ สามารถเป็นได้ทั้งหมดและควรอยู่ภายใต้การควบคุมของแหล่งที่มา
Lee Gunn

15
+1 สำหรับAs any abstraction can produce "high-level" developers having no idea how it works under the hood
nawfal

3
ตกลงอาร์กิวเมนต์การควบคุมแหล่งที่มาไม่ถูกต้อง เราเก็บสคริปต์สร้างฐานข้อมูลของเราใน svn เสมอ คุณจะเก็บฐานข้อมูลไว้ภายนอกการควบคุมซอร์สได้อย่างไรเมื่อพัฒนาแอปพลิเคชันฐานข้อมูล
Wout

3
EF ไม่เหมาะสำหรับความพร้อมใช้งานสูงและประสิทธิภาพสูงฉันไม่ใช่คน DBA แต่ฉันไม่เห็นว่าข้อเสนอของ EF แบบไหนที่ทำให้การเขียนโค้ดง่ายขึ้น
เจมี่

4
ดังนั้นเราจึงให้ความยืดหยุ่นการควบคุมและประสิทธิภาพอย่างเต็มที่สำหรับ "การพัฒนาอย่างรวดเร็ว" และหลีกเลี่ยงการเปลี่ยนแปลงโค้ดหาก DB เปลี่ยนแปลง ฟังดูเหมือนความเกียจคร้านที่บริสุทธิ์สำหรับฉัน
2966445

18

คำถามของคุณนั้นโดยทั่วไปแล้ว O / RM นั้นคือ SQL ที่เขียนด้วยมือ

ใช้ ORM หรือ SQL ธรรมดา?

ลองดูที่โซลูชัน O / RM อื่น ๆ ที่นั่น L2S ไม่ใช่โซลูชันเดียว (NHibernate, ActiveRecord)

http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software

เพื่อตอบคำถามเฉพาะ:

  1. ขึ้นอยู่กับคุณภาพของโซลูชัน O / RM L2S นั้นค่อนข้างดีในการสร้าง SQL
  2. โดยปกติจะเร็วกว่าการใช้ O / RM มากเมื่อคุณทำกระบวนการ
  3. รหัสนี้มักจะเป็น neater และบำรุงรักษาได้มากขึ้น
  4. แน่นอนว่า SQL ตรงนั้นจะช่วยให้คุณมีความยืดหยุ่นมากขึ้น แต่ O / RM ส่วนใหญ่สามารถทำทั้งหมดได้ แต่เป็นการค้นหาที่ซับซ้อนที่สุด
  5. โดยรวมแล้วฉันขอแนะนำให้ใช้ O / RM การสูญเสียความยืดหยุ่นนั้นเป็นสิ่งที่ละเลยไม่ได้

@ David ขอบคุณ แต่ไม่ใช่ ORM กับ SQL ฉันกำลังมองหาที่จะย้ายไปยังออมและสงสัยว่าจะใช้เวลาในการเรียนรู้: EF หรือ L2S (เว้นแต่พวกเขาจะขยะเมื่อเทียบกับการจัดเก็บ Procs)
BritishDeveloper

1
ฉันจะบอกว่ามันไม่ใช่ขยะเมื่อเทียบกับ procs ที่เก็บไว้และข้อดีอีกอย่างคือคุณไม่มีรหัสที่แพร่กระจายไปยังฐานข้อมูล โดยส่วนตัวแล้วฉันชอบ L2S แต่ฉันไม่ได้ทำอะไรกับ EF มากนักในตอนนี้และดูเหมือนว่า L2EF จะเข้ามาแทนที่ฉันดังนั้นฉันจะไป EF นอกจากนี้เมื่อคุณไป Linq คุณจะไม่กลับไป
BlackICE

13

LINQ-to-SQL เป็นเทคโนโลยีที่น่าจับตามองที่ใช้งานง่ายและโดยทั่วไปแล้วแบบสอบถามขนาดใหญ่จะสร้างข้อความค้นหาที่ดีมาก ๆ ที่ด้านหลัง LINQ-to-EF มีกำหนดจะแทนที่ แต่ในอดีตมีการใช้และสร้าง SQL ที่ด้อยกว่ามาก ฉันไม่ทราบสถานะของกิจการในปัจจุบัน แต่ Microsoft สัญญาว่าจะย้ายความดีทั้งหมดของ L2S ไปเป็น L2EF ดังนั้นบางทีตอนนี้ก็ดีขึ้น

โดยส่วนตัวฉันมีความหลงใหลในเครื่องมือ ORM (ดูรายละเอียดของฉันที่นี่ ) และฉันไม่เห็นเหตุผลใดที่จะให้ความช่วยเหลือ L2EF เนื่องจาก L2S มอบทุกสิ่งที่ฉันคาดหวังจากชั้นการเข้าถึงข้อมูล ในความเป็นจริงฉันยังคิดว่าคุณสมบัติ L2S เช่นการจับคู่ด้วยมือและการสร้างแบบจำลองมรดกเพิ่มความซับซ้อนที่ไม่จำเป็นอย่างสมบูรณ์ แต่นั่นเป็นเพียงฉัน ;-)


1
L2S ค่อนข้างดี แต่มีข้อเสียที่ Microsoft ระบุไว้ว่าโดยทั่วไปแล้วพวกเขาจะไม่ลงทุนมากในการขยาย คุณสามารถดูผลลัพธ์ของสิ่งนี้ได้ในเวอร์ชันล่าสุดซึ่งมีการแก้ไขข้อบกพร่องเพียงเล็กน้อยและการสนับสนุนบางอย่างสำหรับประเภทข้อมูล SQL Server 2008 ที่เพิ่มเข้ามา
FinnNk

ตกลงเห็นด้วย @FinnNk มันเป็นความจริงที่โชคร้ายที่การใช้ L2S ค่อนข้างมีความเสี่ยงเนื่องจากสถานะของผู้เสียชีวิต แต่ถ้าพวกเขาโกงมันอย่างสมบูรณ์ในความโปรดปรานของ L2EF ฉันสงสัยอย่างยิ่งว่าจะมีเส้นทางการโยกย้ายเนื่องจากสิ่งต่อไปนี้ยังคงสนุกอยู่
Marcelo Cantos

3
Linq ไปยัง EF ได้ครบกำหนดแล้วและตอนนี้ผลิต SQL ได้ดีเท่า L2S (ตั้งแต่. NET 4.0) L2EF นั้นดีกว่า L2S มากในปัจจุบันเนื่องจากอย่างน้อยสามารถอัปเดตโมเดลของคุณเมื่อการเปลี่ยนแปลงฐานข้อมูลซึ่ง L2S ไม่สามารถทำได้โดยอัตโนมัติ ฉันยังชอบความจริงที่ว่าคุณสามารถแมปความสัมพันธ์ M: M แบบง่ายกับ EF เป็นความสัมพันธ์โดยไม่จำเป็นต้องมีเอนทิตีระดับกลาง มันทำให้รหัสที่สะอาดกว่ามาก
Dave Markle

2
ขอบคุณสำหรับการอัพเดท @Dave อย่างไรก็ตามฉันไม่เห็นด้วยกับความคิดเห็น M: M สกีมาที่ฉันทำงานด้วยการเพิ่มคุณสมบัติพิเศษในตารางการเข้าร่วม สิ่งนี้ทำให้เกิดการเปลี่ยนแปลงเชิงโครงสร้างของโมเดลวัตถุซึ่งต้องมีการทำโค้ดซ้ำจำนวนมาก ฉันค่อนข้างจะจัดการกับความสัมพันธ์ระดับกลางอย่างชัดเจนตั้งแต่เริ่มแรก
Marcelo Cantos

1

มีวิธีการใหม่ทั้งหมดที่คุณอาจต้องการพิจารณาว่าสิ่งที่คุณทำหลังจากนั้นคือพลังและประสิทธิภาพของขั้นตอนการจัดเก็บและการพัฒนาอย่างรวดเร็วที่เครื่องมือเช่น Entity Framework ให้

ฉันใช้ SQL + สำหรับทดลองขับในโครงการขนาดเล็กและมันเป็นสิ่งที่พิเศษจริงๆ โดยทั่วไปคุณจะเพิ่มจำนวนความคิดเห็นลงในรูทีน SQL ของคุณและความคิดเห็นเหล่านั้นให้คำแนะนำกับตัวสร้างโค้ดซึ่งจะสร้างไลบรารีคลาสวัตถุที่มุ่งเน้นที่ดีโดยยึดตามรูทีน SQL จริง ชนิดของเฟรมเวิร์กเอนทิตีที่ตรงกันข้าม

พารามิเตอร์อินพุตกลายเป็นส่วนหนึ่งของออบเจ็กต์อินพุตพารามิเตอร์เอาต์พุตและชุดผลลัพธ์กลายเป็นส่วนหนึ่งของอ็อบเจกต์เอาท์พุทและส่วนประกอบบริการให้การเรียกเมธอด

หากคุณต้องการใช้โพรซีเดอร์ที่เก็บไว้ แต่ยังต้องการการพัฒนาอย่างรวดเร็วคุณอาจต้องการดูสิ่งนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.