ModelLoadOptions Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Opciones para cargar un modelo desde un origen de datos, como un archivo Dacpac.
Estas opciones pueden ser muy importantes en función del escenario. Por ejemplo, al ejecutar análisis de código estático mediante CodeAnalysisService , se recomienda encarecidamente que la LoadAsScriptBackedModel opción se establezca en true, ya que muchas reglas esperan un origen totalmente scripted y es posible que no funcionen según lo previsto en un modelo no respaldado por scripts.
public sealed class ModelLoadOptions
type ModelLoadOptions = class
Public NotInheritable Class ModelLoadOptions
- Herencia
-
ModelLoadOptions
Constructores
| Nombre | Description |
|---|---|
| ModelLoadOptions() |
Construye una instancia de ModelLoadOptions con las opciones predeterminadas, que se van a usar Memory el almacenamiento y para establecer LoadAsScriptBackedModel como false. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean, Boolean) |
Construye una instancia de ModelLoadOptions con las opciones especificadas. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean) |
Construye una instancia de ModelLoadOptions con las opciones especificadas. |
Propiedades
| Nombre | Description |
|---|---|
| LoadAsScriptBackedModel |
¿Debe cargarse el modelo para que las representaciones con script realicen una copia de seguridad de los objetos? En este caso, los objetos del UserDefined ámbito tendrán un nombre de origen y una información de posición de origen. Al cargar desde un Dacpac o cualquier otro origen sin script, el modelo no tendrá información de origen. Esto significa que, al ejecutar el análisis de código estático con algunas CodeAnalysisService reglas, es posible que no funcione correctamente y que los objetos existentes del modelo no se pudieron reemplazar mediante el AddOrUpdateObjects(String, String, TSqlObjectOptions) método , ya que no hay ningún script con su definición original. En los escenarios que usan la CodeAnalysisService configuración de esta opción en true se recomienda encarecidamente. De forma similar, si desea actualizar los objetos existentes en el modelo, esta opción en true puede resultar útil. Tenga en cuenta que hay un costo de rendimiento potencialmente significativo implicado en la creación de un modelo con script. Todos los objetos de nivel superior del UserDefined ámbito se crearán como cadenas y, a continuación, se reemplazarán por sus representaciones con script, después del cual el modelo tendrá que resolver completamente todas las relaciones. Esto provocará un acierto de rendimiento único en el momento en que se carga el modelo. |
| ModelStorageType |
¿Debe almacenarse el modelo en memoria o se debe usar un almacenamiento respaldado por archivos? |
| ThrowOnModelErrors |
Define si las API de edición del modelo inician un DacModelException si hay errores de bloqueo presentes en el modelo. Al agregar un nuevo objeto o eliminar o modificar objetos existentes en el modelo mediante llamadas API como AddObjects(String), DeleteObjects(String)AddOrUpdateObjects(String, String, TSqlObjectOptions)y ConvertToScriptedObject(TSqlObject, String), el modelo produce DacModelException la señalización de la presencia de errores de bloqueo del modelo. Los errores de bloqueo de modelos indican la presencia de errores graves, como analizador, intérprete y otros errores en los objetos. Establecer esta opción en false permite compilar el modelo incluso si tiene errores graves. Posteriormente, esos objetos con errores de modelo se pueden recuperar mediante el GetModelErrors() método . Cuando los objetos con errores de bloqueo de modelos se agregan al modelo, el objeto se edita de forma que las partes errantes se quitan o se comentan de forma óptima para conservar las partes del objeto que no tienen errores. Por ejemplo, un procedimiento almacenado que tiene un error del analizador en el cuerpo del procedimiento tendrá su cuerpo comentado antes de agregar al modelo. Como peor de los casos, el objeto se quita completamente mientras se conservan los errores del modelo. Tenga en cuenta que la implementación actual controla los objetos con errores de modelo como se indica a continuación.
|