Posts Tagged ‘visual studio 2010’

 

การแสดงข้อมูลจาก Entity หรือตัวแทนจากตารางในฐานข้อมูลเดียวเป็นเรื่องปกติ

แต่หากต้องแสดงข้อมูลจาก entity อื่นที่มีความสัมพันธ์กันต้องเพิ่มอะไรลงไปนิดหน่อย

 

จากตอนที่แล้วผมสร้างแอพพลิเคชั่นจากฐานข้อมูลที่มีเดิมอยู่แล้ว

แล้วมาสร้าง entity datamodel แล้วค่อยมาสร้าง class ที่ทำงานทีหลัง

ไม่ใช่สร้างแบบ poco คือสร้างโค้ดก่อนแล้วไปเจนเนเรทฐานข้อมูล ผมคิดว่าอาจจะไม่เขียนเพราะ ตย ในเว็บอื่นๆมีมากพอแล้ว

 

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

ต้องการแสดงรายชื่อนักเรียน

ต้องการคลิกที่ชื่อแล้วแสดงรายวิชา + เกรดที่ได้ของนักเรียน

 

นี่คือ edm ของระบบ

image

 

1. เพิ่ม Controller ลงไปชื่อ StudentController กำหนดค่า

image

ที่ช่องเทมเพลต กำหนดให้สร้าง crude

โมเดลให้เลือกชี้ไปที่คลาสที่สร้างขึ้นจากตอนที่แล้ว

และcontext เลือก schoolentity ก้ได้จากการสร้างตอนที่แล้วเช่นกัน

แล้ว add ลงไป

 

2.แก้โค้ดที่ StudentController เมทอส Details ดังนี้

image

จะเห็นว่าผมแก้โค้ดให้มี include เอา entity ที่ติดต่อโดยตรงเข้าไปก่อน

แล้วไปเรียก select เอา entity ที่ติดต่อถัดไปเข้ามา

 

3.เปิด view  detail ของ student

image

 

4. ภายใน tag ของ fieldset ให้เพิมตารางแสดงรายการวิชาและเกรดที่ได้เข้าไปด้วยการวนลูปดังนี้

image

 

เมื่อทดลองรันจะได้ดังนี้

 

image

เมื่อคลิกที่ detail ของ นร สักคน

image

จะได้รายวิชาที่ลงเรียนและเกรด(หากมี)

 

จบแล้วครับ ไม่เข้าใจเหมือนกันว่าทำไมทำตาม tutorial แล้วมีปัญหามาตลอด

หรือผมโง่เกินไปก็ไม่ทราบได้ หากใครฉลาดๆโปรดเข้ามาให้คำสอนด้วยครับ

 

การสร้าง Model จากฐานข้อมูลที่มีอยู่เรียกว่า database first

1.เมื่อเราได้สร้างฐานข้อมูลแล้ว สร้างตารางและความสัมพันธ์เอาไว้ก่อนแล้ว

image

 

2.เพื่อความแน่ใจให้ดูใน web.config ว่ามี connection string ที่เชื่อมต่อระบบของเราเข้ากับ database ที่เราได้สร้างเอาไว้หรือยังหากยังให้กำหนดค่าดังนี้

image

 

3.ให้สร้าง Entity Data Model ขึ้นมา ที่โฟลเดอร์ Model ให้เพิ่ม Entity data model ลงไป

ตั้งชื่อ SchoolModel

4.เลือก Generate จาก Database

image

 

5.ที่ connection เลือกไปยัง database ที่เราได้สร้างเอาไว้

image

 

6.ด้านล่างให้บันทึก entity connection ลง web.config

image

 

เลือกตารางที่ใช้

image

 

และตั้งชื่อว่า SchoolModel

image

 

6. เลือก build project แล้วสร้าง class จาก edm ด้วยการคลิกขวาในหน้าการออกแบบ edm

image

 

7. เลือก code แล้วเลือก Self tracking

image

 

8. เราจะได้คลาสตามที่ edm ได้สร้างเอาไว้

image

 

จบแล้วครับ

 

สำหรับบทนี้คุณ Joe Stagner ได้อธิบายภาพรวมของเว็บแอพพลิเคชั่น ที่จะได้พัฒนาขึ้นดังนี้

  • ผู้เยี่ยมชมทั่วไปสามารถเรียกดูสินค้าตามประเภทสินค้า

image

 

  • ผู้ชมทั่วไปเรียกดูสินค้าแบบรายชิ้นได้และเพิ่มสินค้าลงใน Cart ได้

image

 

  • ผู้ชมรีวิวสินค้าได้ และลบสินค้าใน Cart ที่เลือกมาเองได้

image

 

  • ผู้ชมสามารถตรวจสอบรายการสินค้า ราคา จำนวนได้

image

 

  • เมื่อสั่งสินค้าสามารถให้ผู้เข้าชมที่ยังไม่เป็นสมาชิกได้ลงทะเบียนก่อนชำระเงินได้

image

 

  • แสดงรายการสินค้าที่ได้สั่งไปแล้ว

image

เราจะสร้าง project ดังกล่าวด้วย Visual Studio 2010 แล้วเราจะเพิ่มความสามารถเพื่อให้โครงการสมบูรณ์ยิ่งขึ้น
ซึ่งในโครงการประกอบด้วย Business Logic Layer, ListView,GridView,

การปรับปรุงข้อมูลที่เพจ การตรวจสอบความถูกต้อง การใช้หน้าหลัก (MasterPage)
การใช้ AJAX ระบบสมาชิกและอื่นๆ

หากท่านต้องการ Download SourceCode โปรดคลิกที่ลิงค์ด้านล่างนี้

http://tailspinspyworks.codeplex.com/

image

 

แนะนำว่าโหลดมาก่อนดีกว่าครับ เราจะได้ใช้ Master Page หรือ Database ที่ต้องใช้ใน Tutorial นี้ได้

สำหรับ DBMS ใช้ MS SQL Server , หรือรุ่นฟรีอย่าง MSSQL Express ก็ได้ครับ

 

บทความนี้ผมได้ศึกษา สรุป และแปลจาก ASP.NET Tailspin Spyworks Tutorial Version 0.8 ต้นฉบับเขียนโดย Joe Stagner – Microsoft 4/28/2010

ทั้งนี้ก็ขอขอบคุณ คุณ Joe Stagner ด้วยครับ
ผมจึงขอนำมาสรุปเป็นโน้ตย่อ (หรือโน้ตยาวก็ไม่รู้) ให้กับตัวเองและทุกท่านที่สนใจอ่านครับ

หากท่านสนใจอ่านเอกสารต้นฉบับสามารถหาได้จากจากเว็บไซต์ asp.net

image

เนื้อหาที่นำมาเสนอนี้ เป็นส่วนหนึ่งของเว็บข้างต้นอยู่ในหัวข้อ ASP.NET Web Form Sample Application ::  Tailspin Spyworks
เท่าที่ได้ศึกษา(อย่างคร่าวๆ 1 คืน) เนื้อหาไม่ยาก อธิบายง่ายๆชัดเจนดี ความยาว 84 หน้า

ก่อนลงมือคุณต้องมี….

  1. มีโปรแกรม Visual Studio 2010 สามารถดาวน์โหลดฟรีได้จาก http://www.asp.net/downloads เป็นรุ่น Express เมื่อโหลดเสร็จ ก็ติดตั้งลงในเครื่องของท่านเพื่อใช้ในหัวข้อต่อๆไป
  2. มีความรู้เกี่ยวกับ LINQ
  3. รู้จัก Master Page
  4. รู้จัก CSS 
  5. รู้จัก AJAX

เนื้อหาภายในเล่ม

 

*การจัดเรียงเนื้อหาผมจัดตามต้นฉบับเดิมของคุณ Joe เพื่อความสะดวกในการเทียบเคียง

  1. Building Tailspin Spyworks – an ASP.NET WebForms Sample
  2. Overview
  3. File / New Project
  4. Adding the Data Access Layer
  5. Adding Some Layout and a Category Menu
  6. Listing Products with the GridView Control
  7. Adding Some Business Logic
  8. Working with ASP.NET Membership
  9. Adding Features
  10. Account Review
  11. OrderDetsails.aspx
  12. The Home Page
  13. Product Reviews
  14. Popular Items Control (Creating User Controls)
  15. “Also Purchased” Control (User Controls with Parameters)
  16. Contact Page (Sending email from ASP.NET)
  17. About Page
  18. Global Exception Handler
  19. Conclusion