Di mana menyimpan objek nilai yang dapat diperbarui oleh pengguna dan ditampilkan dalam daftar kepada pengguna?

Saya mencoba memahami item yang akan ditampilkan dalam kontrol drop-down aplikasi web dan item ini adalah objek nilai dalam model saya. Sebagai contoh, anggaplah saya adalah entitas bernama RFI (permintaan Informasi). RFI tersebut memiliki objek nilai bernama State. Nilai status yang mungkin ditentukan oleh bisnis adalah: Dibuat, Terbuka, Ditangguhkan, Ditutup. Nilai-nilai ini perlu ditampilkan kepada pengguna dan dapat diperbarui oleh pengguna (Di beberapa konsol admin). Karena nilai hanya disimpan pada entitas itu sendiri, metode apa yang terbaik untuk menyimpan daftar nilai yang mungkin?

Saya menggunakan database (SQL 2008) dan kerangka ORM (Entity Framework 4.1), namun saya tidak yakin database adalah tempat terbaik untuk menyimpan nilai yang mungkin. Saya pernah mendengar beberapa pengguna membuat file sumber daya (dokumen XML, file CSV, dll) untuk hal-hal seperti itu. Apa yang dilakukan komunitas lain dalam skenario seperti ini dan apa saja praktik terbaik yang direkomendasikan.


person DDiVita    schedule 17.07.2011    source sumber


Jawaban (2)


Tabel pencarian dalam database disebut "Status" (atau serupa) dengan 4 baris. Ini akan menjadi kunci asing di tabel "RFI".

Alasan:

  • mencari "Tutup" dll
  • kode klien lain akan menggunakannya (akan suatu saat nanti)
  • itu relasional...

Tangkap model dengan Object Role Modeling misalnya dan lihat apa yang dihasilkannya.

person gbn    schedule 17.07.2011

Di perusahaan saya, kami membuat tabel Pencarian di database dengan kolom tambahan yang menentukan objek yang terkait dengan setiap nilai, dan memetakan tabel beberapa kali dengan kunci objek yang berbeda (Kami telah menerapkannya di NHibernate dan saya tidak yakin itu mungkin di EF, jika tidak, Anda bisa menggunakan Views saja) ke kelas objek yang berbeda.

Ini akan memungkinkan pengelolaan yang mudah karena semuanya disimpan dalam db, dengan pemeliharaan yang rendah karena semua objek nilai disimpan hanya dalam satu database (yang membuatnya lebih mudah untuk di-cache).

person sternr    schedule 17.07.2011