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

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

ฉันใช้ฐานข้อมูล (SQL 2008) และกรอบงาน ORM (Entity Framework 4.1) แต่ฉันไม่แน่ใจว่าฐานข้อมูลเป็นสถานที่ที่ดีที่สุดในการจัดเก็บค่าที่เป็นไปได้ ฉันได้ยินมาว่าผู้ใช้บางคนสร้างไฟล์ทรัพยากร (เอกสาร XML, ไฟล์ CSV ฯลฯ) สำหรับสิ่งเหล่านี้ คนอื่นๆ ในชุมชนกำลังทำอะไรในสถานการณ์เช่นนี้ และแนวทางปฏิบัติที่ดีที่สุดที่แนะนำมีอะไรบ้าง


person DDiVita    schedule 17.07.2011    source แหล่งที่มา


คำตอบ (2)


ตารางค้นหาในฐานข้อมูลชื่อ "State" (หรือคล้ายกัน) มี 4 แถว นี่จะเป็นคีย์ต่างประเทศในตาราง "RFI"

เหตุผล:

  • ค้นหา "ปิด" ฯลฯ
  • รหัสไคลเอนต์อื่นจะใช้มัน (มัน จะ ในบางจุด)
  • มันสัมพันธ์กัน...

จับภาพโมเดลด้วย Object Role Modeling เป็นตัวอย่างและดูว่าสิ่งใดที่สร้าง

person gbn    schedule 17.07.2011

ในบริษัทของฉัน เราได้สร้างตารางการค้นหาในฐานข้อมูลโดยมีคอลัมน์เพิ่มเติมที่ระบุวัตถุแต่ละค่าที่เกี่ยวข้อง และแมปตารางหลายครั้งด้วยคีย์วัตถุที่แตกต่างกัน (เราได้นำไปใช้ใน NHibernate และฉันไม่แน่ใจ เป็นไปได้ใน EF ถ้าไม่ใช่คุณสามารถใช้ Views แทน) กับคลาสอ็อบเจ็กต์ที่แตกต่างกัน

สิ่งนี้จะช่วยให้การจัดการทำได้ง่ายเนื่องจากข้อมูลทั้งหมดถูกจัดเก็บไว้ในฐานข้อมูล โดยมีการบำรุงรักษาต่ำ เนื่องจากออบเจ็กต์ค่าทั้งหมดถูกจัดเก็บไว้ในฐานข้อมูลเดียวเท่านั้น (ซึ่งทำให้แคชได้ง่ายขึ้น)

person sternr    schedule 17.07.2011