การพัฒนาเว็บแอพพลิเคชั่น Contoso University ด้วย ASP.Net 4 ตอนที่ 1

Posted: กุมภาพันธ์ 20, 2011 in asp.net, คอมพิวเตอร์และอินเทอร์เน็ต, Computers and Internet, Software
ป้ายกำกับ:, , , , , , , ,

 

บทความนี้สาธิตการพัฒนาระบบเว็บแอพพลิเคชั่น Contoso University ซึ่งผมได้ศึกษาจากเว็บไซท์ http://asp.net/

หากต้องการอ่านบทความต้นฉบับจะอยู่ที่

http://www.asp.net/entity-framework/tutorials/the-entity-framework-and-aspnet-–-getting-started-part-1

ผมได้ศึกษา และทดลองทำตามแล้วนำมาเล่าให้ท่านอ่านกันอีกครั้ง อรรถรสอาจมาก น้อยไปกราบขออภัยมา ณ โอกาสนี้ด้วยครับ

สำหรับตอนแรกนี้ เป็นการกล่าวเรื่องทั่วไปของระบบที่เราจะได้ทดลองทำกัน

 

จุดประสงค์

พัฒนาระบบเว็บแอพพลิเคชั่น เพื่อสนับสนุนการบริหารจัดการมหาวิทยาลัย Contoso

ผู้ใช้ระบบสามารถจัดการกับข้อมูลนักเรียน วิชา ผู้สอน ได้

แสดงภาพตัวอย่างดังนี้ครับ

 

image

 

สิ่งที่ต้องเตรียม

 

1. image
Microsoft Visual Studio Express 2010 หรือเป็นรุ่นที่สูงกว่านี้ ต้องการคลิกที่นี่

 

2. image
ระบบจัดการฐานข้อมูล Microsoft SQL Server 2008  Express หรือรุ่นที่สูงกว่า

 

3. ให้ดาวโหลดตัวอย่างระบบฐานข้อมูลจากที่นี่ ส่วนวิธีการติดตั้งขอให้อ่านจากเว็บที่ให้ดาวน์โหลดเอาเอง

 

4. บทความนี้ใช้ภาษา C# และ LINQ ในการพัฒนา

 

วัตถุุประสงค์

เราจะสร้าง Webapp และสร้าง Emtity DataModel จากฐานข้อมูลที่มี

 

ดำเนินการ

1.เมื่อได้สร้างฐานข้อมูลเสร็จแล้ว ให้สร้าง Web App ขึ้นมา ตั้งชื่อว่า ContosoUniversity

image

 

2.ที่ Solution Explorer ทางขวาให้เปิด Site.Master ขึ้นมาแก้ไขชื่อเว็บ

image

 

เปิด Site.Master ที่ไฮไลท์ไว้

 

 

 

 

 

 

 

 

 

แล้วเปลี่ยนข้อความที่ด้านบนจาก

image ให้เป็น

 

image

 

3. แก้ไขแท้ก <asp:Menu.. ด้วยการก้อบโค้ดนี้ลงไปแทนที่เดิม

image

 

4. แก้ไข default.aspx ด้วยการเพิ่มข้อความ Welcome to Contoso… ดังนี้

image

 

5. กำหนดค่าการติดต่อกับฐานข้อมูล โดยการเปิด Server Explorer คลิกที่ไอคอน image แล้วติดต่อกับฐานข้อมูลที่ได้สร้างเอาไว้แล้ว เมื่อการเชื่อมต่อกับฐานข้อมูลเสร็จแล้วจะได้ผลดังนี้

image

 

6. จากนั้นเราจะสร้าง Entity Data Model ด้วยการสร้างโฟลเดอร์ขึ้นมาตั้งชื่อว่า DAL แล้วคลิกขวาเลือก Add //New Item

image

ตั้งชื่อโมเดลว่า SchoolModel แล้วคลิกปุ่ม Add

image

 

หากปรากฏหน้าต่างนี้ให้เลือก No

image

 

ให้คลิก Generate from database แล้วคลิก Next

image

 

หน้าการเชื่อมต่อข้อมูลให้เลือก School ตัวเลือกด้านล่างให้เลือกตามนี้ และคลิก Next

image

 

ที่หน้า database object ให้เลือกตารางทุกอันยกเว้น sysdiagram และตัวเลือกอื่นๆตามนี้ แล้วคลิก Finish

image

 

เมื่อการสร้าง Data model เสร็จแล้วจะปรากฏดังนี้

image

 

7.อธิบาย Data Model

จากเอกสารต้นฉบับ มีการอธิบายองค์ประกอบของความสัมพันธ์ของ EDM เอาไว้โดยสรุปดังนี้

อธิบาย คสพ แบบ 1 ต่อ 0 หรือ 1

image

 

 

Entity person จะมี คสพ กับ Entity OfficeAssignment กันแบบ 1 : 0..1

 

หมายถึงบุคคลใดๆ ในระบบอาจจะไม่มี หรือมีอย่างมากเพียง 1 ชุดข้อมูลทีเกี่ยวข้องกับห้องทำงาน

สำหรับระบบนี้ออกแบบให้อาจารย์ผู้สอนแต่ละคนหรือบางคนมีห้องทำงานเป็นของตนเอง

 

 

 

 

 

 

 

 

 

อธิบาย คสพ แบบ 1 ต่อ หลากหลาย

 

 

imageEntity StudentGrade จะมี คสพ กับ Person แบบ 1 ต่อ *

หมายถึงบุคคลในระบบสามารถมีเกรดหรือผลการศึกษา ได้หลายตัว เพราะเรียนหลายวิชา  ซึ่งในระบบนี้ออกแบบให้นักเรียนเท่านั้นที่มีผลการศึกษา

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

อธิบาย คสพ แบบ หลาก ต่อ หลากหลาย

 

image

 

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

 

อธิบาย Navigation Properties

ที่แต่ละ Entities จะมี Navigation เพื่อชี้ไปยัง Entity อื่นๆที่มีความเกี่ยวข้องกับ Entity นั้นๆ

 

image

 

ดังภาพนี้ เห็นได้ว่า Entity Person มีการเชื่อมโยงไปหา CourseGrade, OfficeAssignment, Course.. เป็นต้น

 

นอกจากนี้ คสพ แบบหลากหลาย ต่อ หลากหลาย จะไม่มีการสร้าง Entity ขึ้นแบบใช้ Key ร่วมกันแบบในฐานข้อมูล แต่ใช้ Navigation Properties ระบุ คสพ ลงไป

 

8.อธิบายการแก้ไขชื่อใน Entity

 

เราสามารถแก้ไข Field ใน Entity ได้ ในตย นี้จะเปลี่ยนชื่อ Person.FirstName ให้เป็น FirstMidName ด้วยการคลิกขวาที่ FirstName แล้วเลือก Rename

image

 

แล้วป้อน FirstMidName ลงไป จะได้ผลดังนี้

 

image

 

 

9.อธิบายการใช้ Model Browser

Model Browser เป็นเครื่องมือที่ใช้เข้าถึงโครงสร้างข้อมูล

หากแถบเครื่องมือของเราไม่มี Model Browser ปรากฏขึ้นมา ให้คลิกขวาภายใน EDM แล้วเลือก Model Browser

image

 

ที่แถบเครื่องมือทางขวา จะปรากฏ Model Browser ขึ้นมา

ภายใน จะมี

image

  • School Model ซึ่งใช้แสดงโครงสร้างของDataModel
  • SchoolModel.Store ใช้แสดงโครงสร้างของฐานข้อมูล

 

ลองคลิกที่ SchoolModel เลือก Entity Type เลือก person แล้วคลิกขวาที่ FirstMidName เลือก Table Mapping

image

 

จะเห็นการเชื่อมโยงกันระหว่าง Entity Data Model กับ Database ถึงแม้ชื่อฟิลด์ใน EDM จะเปลี่ยนเป็น FirstMidName แล้ว แต่ใน Database ก็ยังคงเป็น FirstName เช่นเดิม

 

image

 

ส่วนรายละเอียดภายใน EDM ที่จริงเป็น XML ทั้งหมดเราสามารถแกะดูได้ โดยคลิกขวาที่ SchoolModel.edmx แล้วเลือก XML Text Editor จะได้ผลแบบนี้

image

 

สำหรับบทที่ 1 ขอจบเพียงเท่านี้ครับ

ใส่ความเห็น