Apakah mungkin untuk mengubah nama jamak dari tabel LINQ?

Misalnya, nama tabel saya adalah "Diagnosis". Saat saya memasukkannya ke dalam model LINQ ke SQL, ia mencoba mencari cara untuk membuat jamak, dan secara keliru berasumsi bahwa nama entitas harus "Diagnosi" dan nama set harus "Diagnosis", yang dapat membingungkan.

Ketika saya mengubah nama entitas menjadi "Diagnosis" di properti, itu tidak mengubah nama set, jadi sekarang keduanya menjadi "Diagnosis", yang bahkan lebih membingungkan.

Idealnya, saya ingin memiliki kendali atas nama set dan mengubahnya menjadi "Diagnosis". Saya akan puas jika LINQ menerapkan pluralisasinya secara membabi buta dan menghasilkan sesuatu seperti "Diagnosis" atau semacamnya. Ada ide?


person gfrizzle    schedule 07.01.2010    source sumber
comment
Judul stackoverflow.com/questions/1467614/   -  person Jack Marchetti    schedule 07.01.2010


Jawaban (2)


Sejauh yang saya tahu, Anda bisa mengubah nama tabel.

Buka desainer dan klik tabel yang ingin Anda ubah. Klik lagi pada nama tabel dan Anda dapat mengganti namanya. Ini tidak akan mengganti nama tabel database sebenarnya, sepengetahuan saya, hanya entitas Anda.

Informasi yang sama muncul di jendela properti jika Anda mengklik kanan tabel dan memilih Properti. Anda juga harus dapat mengubah nama entitas yang dipetakan ke tabel Anda di sana.

person Ed Altorfer    schedule 08.01.2010
comment
Ya, tabel dapat diganti namanya, tapi LINQ menggunakan algoritma untuk mengetahui nama koleksi. Jika nama tabel fisik Anda adalah Penulis, LINQ mencoba membantu dengan memberi nama entitas Penulis dan memberi nama koleksi Penulis. Dalam kasus Diagnosis, secara keliru menghilangkan pemikiran bahwa ini adalah bentuk Diagnosi yang jamak. Saat saya mengganti nama tabel kembali menjadi Diagnosis, algoritme masih memanggil kumpulan Diagnosis. Saya ingin mengontrol nama koleksi. - person gfrizzle; 08.01.2010

Saya tidak tahu cara yang baik untuk melakukan ini, tapi berikut beberapa idenya:

  • jika Anda tidak perlu bolak-balik memodelkan terlalu banyak, Anda dapat mengganti nama kelas dalam XML yang dihasilkan (klik kanan pada DBML, edit di editor XML).
  • Anda dapat mencoba menempatkan kelas yang satu ini ke dalam model terpisah dan menjalankan SQLMetal secara manual, bukan dari desainer VS (ini berjalan secara implisit saat Anda menyimpan model dari desainer). Saya rasa Anda dapat mematikan pluralisasi dengan opsi baris perintah.
  • Anda dapat memperoleh nama kelas yang salah dan memberinya nama yang benar, untuk menyembunyikan masalah dari pengembang
person cdonner    schedule 07.01.2010