LINQ untuk SQL string untuk enums

LINQ untuk SQL memungkinkan tabel pemetaan untuk secara otomatis mengkonversi bolak-balik ke Enums dengan menentukan jenis untuk kolom - ini bekerja untuk string atau bilangan bulat.

Apakah ada cara untuk membuat konversi case sensitive atau menambahkan custom pemetaan kelas atau extenstion metode ke dalam campuran sehingga saya bisa menentukan apa string harus terlihat seperti lebih detail.

Alasan untuk melakukannya mungkin dalam rangka untuk memasok lebih bagus konvensi penamaan dalam beberapa baru funky C# kode dalam suatu sistem di mana data skema yang sudah ditetapkan (dan ini yang diandalkan oleh beberapa aplikasi lama) sehingga teks yang sebenarnya dalam database dapat't dapat diubah.

Mengomentari pertanyaan (1)
Larutan

Anda selalu dapat menambahkan parsial kelas dengan nama yang sama seperti anda LinqToSql kelas, dan kemudian menentukan sendiri parameter dan fungsi. Ini kemudian akan dapat diakses sebagai parameter objek dan metode untuk objek ini, dengan cara yang sama seperti auto-generated LinqToSql metode dapat diakses.

Contoh: Anda memiliki LinqToSql kelas bernama Mobil yang maps untuk Mobil tabel di DB. Anda kemudian dapat menambahkan file ke App_Code dengan kode berikut di dalamnya:

public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

Saya tidak yakin jika ini benar-benar memenuhi kebutuhan anda dari mengubah cara Enums dipetakan ke dalam kolom. Namun, anda bisa menambahkan parameter di mana dapatkan/set properties akan bekerja untuk memetakan enums yang anda butuhkan saat menjaga hal-hal yang case-sensitive.

Komentar (0)