แนวทางปฏิบัติที่ดีที่สุดในปัจจุบันของ Microsoft สำหรับการสร้าง. NET data Tier? และความจริงเหรอ?


13

ทีมพัฒนาที่ฉันกำลังทำงานด้วยกำลังจะย้ายไปที่. NET 4.0 ในไม่ช้าอย่างไรก็ตามไลบรารีคลาสการเข้าถึงข้อมูลที่เราใช้ยังคงใช้ ADO.NET "คลาสสิค" หมายถึงSqlDataReader , DataTable และอื่น ๆ ขณะเดียวกันก็ดูเหมือนว่าไมโครซอฟท์และน่าจะเป็นส่วนที่เหลือของโลกจะก้าวไปข้างหน้ากับ Entity Framework และบริการข้อมูล WCF ฉันไม่พบสิ่งใดบน MSDN ที่ระบุว่าเทคโนโลยีการเข้าถึงข้อมูลใดที่ Microsoft พิจารณาถึงแนวทางปฏิบัติที่ดีที่สุด

Microsoft มีการตั้งค่าหรือไม่? การเข้าถึงข้อมูลใดที่คนส่วนใหญ่ใช้อยู่ในปัจจุบัน มีเหตุผลที่ดีที่จะอยู่กับ ADO.NET classic และไม่ย้ายไปที่ Entity Framework หรือไม่


คำถามที่ดี. หนึ่งนิด: "ชั้นข้อมูล" อาจเป็นคำที่แม่นยำยิ่งขึ้น "เทียร์" ยังสามารถหมายถึงส่วนต่าง ๆ ของระบบกระจายสามารถทำงานได้ในกล่องแยกต่างหาก
azheglov

1
@azheglov "ชั้นข้อมูล" เป็นความคิดแรกของฉัน แต่แล้วผมมองที่นี้และผมคิดที่จะไปกับสิ่งที่ผมเห็นคำศัพท์ใน MSDN: msdn.microsoft.com/en-us/library/bb384398.aspx ฉันเห็นด้วยว่าชั้นข้อมูลมีความแม่นยำมากกว่านี้
ต. เว็บสเตอร์

เว็บสเตอร์: ขอบคุณสำหรับการค้นหาและชี้แจง
azheglov

คำตอบ:


4

ใน บริษัท ของฉันเราใช้ภาษา EF มันเป็น ORM ที่ดีเหมาะสำหรับโครงการขนาดเล็กของเรา ในความเป็นจริงผู้คนกำลังใช้ EF หรือ NHibernate กรอบทั้งสองเป็นสิ่งที่ดี EF มีการสนับสนุน MS ที่ยอดเยี่ยมและคุณสามารถหาเครื่องมือที่ยอดเยี่ยมที่มาพร้อมกับ Visual Studio NHibernate ถือว่าดีกว่า EF แต่มี "เส้นโค้งการเรียนรู้" ที่ใหญ่กว่าดังนั้นคุณจะใช้เวลามากขึ้นในการปรับใช้

ฉันคิดว่าถ้าคุณอยู่ใน Ado.Net "classic" ลองใช้ EF สร้างโครงการอย่างง่ายและแทนที่เมธอด DAL บางส่วน ตรวจสอบวิธีการทำงานและวิธีจัดการ / แก้ไขรหัส เปรียบเทียบกับวิธี "SqlDataReader" แบบง่าย ๆ และตัดสินใจว่าจะใช้วิธีไหนดีกว่า โปรดจำไว้ว่าการเปลี่ยนแปลงทางเทคโนโลยีทุกครั้งต้องใช้เวลาพอสมควรในการนำไปใช้ดังนั้นคุณต้องคำนวณว่าการเปลี่ยนแปลงนี้จะเป็นประโยชน์ต่อ บริษัท ของคุณในระยะยาวหรือไม่


5

ทีมของฉันกำลังค้นหาความจริงในการย้ายมาเรียนที่ EF อย่างเจ็บปวด ไม่ใช่เพราะ EF ไม่ดีหรือไม่มีประโยชน์ แต่ขอบเขตของการแปลงชั้นข้อมูลที่มีอยู่ของเรา (ค่อนข้างใหญ่) จากชุดข้อมูลที่พิมพ์อย่างยิ่งที่เกิดจาก ADO.Net framework 2.0 ไปเป็น EF เป็นงานหนักที่ไม่ได้รับจริงๆ พวกเราทุกอย่าง สำหรับสิ่งใหม่เรายังขาดอยู่เพราะเราทุกคนมีความคิดเห็นและเป้าหมาย สำหรับโครงการ Silverlight ของเราเรามุ่งเน้นที่บริการของ EF และ RIA แต่สำหรับโครงการเว็บ (webforms และ MVC 3) เราใช้ Linq2Sql เป็นหลัก

เรากำลังค้นหาอาการปวดหัวน้อยลงและการพัฒนาที่เร็วขึ้นโดยใช้ Linq2Sql แต่ฉันรู้ว่า Microsoft กำลังผลักดันวาระการประชุมของ EF (โดยเฉพาะกับบริการ WCF และ RIA) Linq2Sql ไม่ได้ไปที่ใด แต่ของเล่นใหม่และคุณสมบัติใหม่ ๆ จะมุ่งเน้นไปที่ EF ฉันจะบอกว่าถ้าคุณมีตัวเลือกก่อนกำหนด EF จะเป็นจุดเริ่มต้นที่ดี หากคุณอยู่กลางกระแสข้อมูลฉันไม่ทราบว่ามันจะง่ายต่อการสลับเปลี่ยน


3

Entity Framework เป็นวิธีที่ควรทำ LinqToSql จะได้รับการสนับสนุนและดูแลรักษา แต่การมุ่งเน้นการพัฒนาต่อไปอยู่ที่ Entity Framework การเลือกระหว่าง ADO.NET Entity Framework และ LINQ ถึง SQL


และตอนนี้คุณใช้อะไร
ต. เว็บสเตอร์

2
ผมคิดว่าทุกคนจะใช้ Linq2Sql
CND

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