ModelLoadOptions Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Параметры загрузки модели из источника данных, например dacpac-файла.
Эти параметры могут быть очень важными в зависимости от сценария. Например, при выполнении анализа статического кода с помощью CodeAnalysisService настоятельно рекомендуется LoadAsScriptBackedModel задать значение true, так как многие правила ожидают полностью скриптованного источника и не могут работать должным образом в модели, отличной от скриптов.
public sealed class ModelLoadOptions
type ModelLoadOptions = class
Public NotInheritable Class ModelLoadOptions
- Наследование
-
ModelLoadOptions
Конструкторы
| Имя | Описание |
|---|---|
| ModelLoadOptions() |
Создает экземпляр ModelLoadOptions с параметрами по умолчанию, которые используют Memory хранилище и задают LoadAsScriptBackedModel значение false. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean, Boolean) |
Создает экземпляр ModelLoadOptions с указанными параметрами. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean) |
Создает экземпляр ModelLoadOptions с указанными параметрами. |
Свойства
| Имя | Описание |
|---|---|
| LoadAsScriptBackedModel |
Следует ли загружать модель таким образом, чтобы объекты были резервными копиями с помощью скриптовых представлений? В этом случае объекты в UserDefined области будут иметь сведения о исходном имени и расположении источника. При загрузке из Dacpac или любого другого источника, отличного от скриптов, модель не будет иметь исходных сведений. Это означает, что при выполнении статического анализа кода с помощью CodeAnalysisService некоторых правил может не работать правильно, и что существующие объекты в модели не удалось заменить с помощью AddOrUpdateObjects(String, String, TSqlObjectOptions) метода, так как скрипт не имеет исходного определения. Для сценариев, использующих CodeAnalysisService параметр true, настоятельно рекомендуется. Аналогичным образом, если вы хотите обновить существующие объекты в параметре модели, это может оказаться полезным. Обратите внимание, что при создании скриптовой модели может возникнуть значительный объем затрат на производительность. Все объекты верхнего уровня в UserDefined области будут написаны как строки, а затем заменены их скриптами представления, после чего модель будет полностью разрешать все связи. Это приведет к однократной производительности при загрузке модели. |
| ModelStorageType |
Следует ли хранить модель в памяти или использовать хранилище с поддержкой файлов? |
| ThrowOnModelErrors |
Определяет, вызывает DacModelException ли API редактирования модели, если в модели присутствуют какие-либо блокирующие ошибки. При добавлении нового объекта или удалении или изменении существующих объектов в модели с помощью вызовов API, таких как AddObjects(String), AddOrUpdateObjects(String, String, TSqlObjectOptions)DeleteObjects(String) иConvertToScriptedObject(TSqlObject, String), модель выдает DacModelException сигнал о присутствии блокирующих ошибок модели. Ошибки блокировки модели указывают на наличие серьезных ошибок, таких как синтаксический анализ, интерпретатор и другие ошибки в объектах. Если этот параметр имеет значение false, можно создать модель, даже если она имеет такие серьезные ошибки. Впоследствии эти объекты с ошибками модели можно получить с помощью GetModelErrors() метода. Когда объекты с ошибками блокировки модели добавляются в модель, объект редактируется таким образом, чтобы неустраниемые части были удалены или закомментированы наилучшим образом, чтобы сохранить части объекта, которые не имеют ошибок. Например, хранимая процедура с ошибкой синтаксического анализа в теле процедуры будет комментировать его тело перед добавлением в модель. В худшем случае объект полностью удаляется при сохранении ошибок модели. Обратите внимание, что текущая реализация обрабатывает объекты с ошибками модели следующим образом.
|