Dikonfigurasi Prefiks Table dengan .Net ATAU/M?

Dalam aplikasi web seperti wiki atau forum-forum atau blog-software, hal ini sering berguna untuk menyimpan data dalam database relasional. Karena banyak perusahaan hosting menawarkan sebuah database tunggal dengan hosting (dengan database tambahan biaya ekstra) hal ini sangat berguna bagi anda pengguna ketika objek database (tabel, pandangan, kendala, dan prosedur yang tersimpan) memiliki kesamaan prefix. Hal ini khas untuk aplikasi yang menyadari database kelangkaan memiliki hard-kode prefiks tabel. Saya ingin lebih, namun. Secara khusus, saya'd ingin memiliki prefiks tabel yang pengguna dapat menetapkan—katakan di web.config file (dengan yang sesuai standar, tentu saja).

Sejak aku benci coding CRUD operasi dengan tangan, saya lebih memilih untuk bekerja melalui kompeten ATAU/M dan telah digunakan (dan menikmati) LINQ untuk SQL, Subsonik, dan ADO.Net. I'm memiliki beberapa thrash dalam sebuah proyek baru, namun, ketika datang untuk menempatkan meja awalan pengguna's web.config file. Apakah ada .Net-based ATAU/M produk-produk yang dapat menangani skenario ini elegan?

Yang terbaik yang saya telah mampu untuk datang dengan sejauh ini adalah dengan menggunakan LINQ untuk SQL dengan eksternal file pemetaan yang saya'd harus update entah berdasarkan lokasi hipotetis web.konfigurasi pengaturan.

Ada yang punya solusi yang lebih baik? Saya mencoba untuk membuat hal itu terjadi dalam Entity Framework, tapi itu berubah menjadi berantakan dengan cepat. (Karena saya terbiasa dengan EF? Mungkin.) Bagaimana Subsonik? Apakah ia memiliki pilihan untuk menerapkan table prefix selain di kode waktu generasi?

Larutan

I've sekarang meneliti apa yang dibutuhkan untuk melakukan hal ini di kedua Entity Framework dan LINQ untuk SQL dan mendokumentasikan langkah-langkah yang diperlukan di masing-masing. It's jauh lebih lama dari jawaban di sini cenderung jadi saya'll akan anda isi dengan link ke jawaban yang bukan duplikat di sini. It's relatif terlibat untuk masing-masing, tapi LINQ untuk SQL adalah solusi yang fleksibel dan juga yang paling mudah untuk implment.

Komentar (0)

Ruang memungkinkan anda untuk menentukan INamingStrategy yang memungkinkan anda untuk menyelesaikan nama tabel secara dinamis pada saat runtime.

Komentar (0)

Daripada menggunakan prefiks tabel yang bukan memiliki aplikasi pengguna yang termasuk dalam skema (di MS Sql 2005 atau di atas).

Ini berarti bahwa alih-alih:

select * from dbo.clientAProduct
select * from dbo.clientBroduct

Anda memiliki:

select * from clientA.Product
select * from clientB.Product
Komentar (0)