ModelLoadOptions Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Opsi untuk memuat model dari sumber data seperti file Dacpac.
Opsi ini bisa sangat penting tergantung pada skenarionya. Misalnya saat menjalankan analisis kode statis menggunakan CodeAnalysisService sangat disarankan agar opsi diatur ke true, karena banyak aturan mengharapkan sumber yang sepenuhnya skrip dan mungkin tidak beroperasi seperti yang LoadAsScriptBackedModel diharapkan pada model yang tidak didukung skrip.
public sealed class ModelLoadOptions
type ModelLoadOptions = class
Public NotInheritable Class ModelLoadOptions
- Warisan
-
ModelLoadOptions
Konstruktor
| Nama | Deskripsi |
|---|---|
| ModelLoadOptions() |
Membuat instans ModelLoadOptions dengan opsi default, yaitu menggunakan Memory penyimpanan dan untuk diatur LoadAsScriptBackedModel menjadi false. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean, Boolean) |
Membuat instans ModelLoadOptions dengan opsi yang ditentukan. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean) |
Membuat instans ModelLoadOptions dengan opsi yang ditentukan. |
Properti
| Nama | Deskripsi |
|---|---|
| LoadAsScriptBackedModel |
Haruskah model dimuat sehingga objek dicadangkan oleh representasi skrip? Dalam hal ini objek dalam UserDefined cakupan akan memiliki nama sumber dan informasi posisi sumber. Saat memuat dari Dacpac atau sumber non-skrip lainnya, model tidak akan memiliki informasi sumber. Ini berarti bahwa ketika menjalankan analisis kode statis menggunakan CodeAnalysisService beberapa aturan mungkin tidak berfungsi dengan benar, dan bahwa objek yang ada dalam model tidak dapat diganti menggunakan metode karena AddOrUpdateObjects(String, String, TSqlObjectOptions) tidak ada skrip dengan definisi aslinya. Untuk skenario yang menggunakan CodeAnalysisService pengaturan ini ke true sangat disarankan. Demikian pula jika Anda ingin memperbarui objek yang ada dalam pengaturan model ini ke true mungkin berguna. Perhatikan bahwa ada biaya performa yang berpotensi signifikan yang terlibat dalam pembuatan model berskrip. Semua objek tingkat atas dalam UserDefined cakupan akan diskrip sebagai string dan kemudian diganti dengan representasi skripnya, setelah itu model kemudian harus sepenuhnya menyelesaikan semua hubungan. Ini akan menyebabkan hit performa satu kali pada saat model dimuat. |
| ModelStorageType |
Haruskah model disimpan dalam memori atau haruskah penyimpanan yang didukung file digunakan? |
| ThrowOnModelErrors |
Menentukan apakah API edit model melempar DacModelException jika ada kesalahan pemblokiran yang ada dalam model. Saat menambahkan objek baru atau menghapus/memodifikasi objek yang ada dalam model menggunakan panggilan API seperti AddObjects(String), , AddOrUpdateObjects(String, String, TSqlObjectOptions)DeleteObjects(String) dan ConvertToScriptedObject(TSqlObject, String), model melempar DacModelException sinyal adanya kesalahan pemblokiran model. Kesalahan pemblokiran model menunjukkan adanya kesalahan serius seperti pengurai, penerjemah, dan kesalahan lainnya dalam objek. Mengatur opsi ini ke false memungkinkan pembangunan model meskipun memiliki kesalahan serius seperti itu. Selanjutnya objek dengan kesalahan model dapat diambil menggunakan GetModelErrors() metode . Ketika objek dengan kesalahan pemblokiran model ditambahkan ke model, objek diedit sedih sehingga bagian yang salah dihapus atau dikomentari dengan cara terbaik untuk mempertahankan bagian objek yang tidak memiliki kesalahan. Misalnya prosedur tersimpan yang memiliki kesalahan pengurai dalam isi prosedur akan mengomentari isinya sebelum menambahkan ke model. Sebagai kasus terburuk, objek benar-benar dihilangkan saat mempertahankan kesalahan model. Perhatikan bahwa implementasi saat ini menangani objek dengan kesalahan model sebagai berikut
|