ModelLoadOptions Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Options de chargement d’un modèle à partir d’une source de données telle qu’un fichier Dacpac.
Ces options peuvent être très importantes en fonction du scénario. Par exemple, lors de l’exécution d’une analyse de code statique à l’aide de l’option CodeAnalysisService , il est fortement recommandé que l’option LoadAsScriptBackedModel soit définie sur true, car de nombreuses règles attendent une source entièrement scriptée et peuvent ne pas fonctionner comme prévu sur un modèle non soutenu par un script.
public sealed class ModelLoadOptions
type ModelLoadOptions = class
Public NotInheritable Class ModelLoadOptions
- Héritage
-
ModelLoadOptions
Constructeurs
| Nom | Description |
|---|---|
| ModelLoadOptions() |
Construit une instance avec ModelLoadOptions les options par défaut, qui doivent utiliser Memory le stockage et définir LoadAsScriptBackedModel comme false. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean, Boolean) |
Construit une instance d’avec ModelLoadOptions les options spécifiées. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean) |
Construit une instance d’avec ModelLoadOptions les options spécifiées. |
Propriétés
| Nom | Description |
|---|---|
| LoadAsScriptBackedModel |
Le modèle doit-il être chargé afin que les objets soient sauvegardés par des représentations scriptées ? Dans ce cas, les objets de l’étendue UserDefined auront un nom source et des informations de position source. Lors du chargement à partir d’un Dacpac ou d’une autre source non scriptée, le modèle n’a pas d’informations sources. Cela signifie que lors de l’exécution de l’analyse de code statique à l’aide de CodeAnalysisService certaines règles peuvent ne pas fonctionner correctement, et que les objets existants dans le modèle n’ont pas pu être remplacés à l’aide de la AddOrUpdateObjects(String, String, TSqlObjectOptions) méthode, car il n’existe aucun script avec leur définition d’origine. Pour les scénarios qui utilisent ce CodeAnalysisService paramètre sur true, il est fortement recommandé. De même, si vous souhaitez mettre à jour des objets existants dans le paramètre de modèle, cette valeur peut être utile. Notez qu’il existe un coût de performances potentiellement significatif lié à la création d’un modèle scripté. Tous les objets de niveau supérieur de l’étendue UserDefined seront scriptés sous forme de chaînes, puis remplacés par leurs représentations scriptées, après quoi le modèle devra résoudre entièrement toutes les relations. Cela entraîne un impact unique sur les performances au moment du chargement du modèle. |
| ModelStorageType |
Le modèle doit-il être stocké en mémoire ou un stockage sauvegardé par fichier doit-il être utilisé ? |
| ThrowOnModelErrors |
Définit si les API de modification de modèle lèvent une DacModelException erreur bloquante présente dans le modèle. Lors de l’ajout d’un nouvel objet ou de la suppression/modification d’objets existants dans le modèle à l’aide d’appels d’API tels que AddObjects(String), AddOrUpdateObjects(String, String, TSqlObjectOptions)DeleteObjects(String) et ConvertToScriptedObject(TSqlObject, String), le modèle lève DacModelException la signalisation de la présence d’erreurs de blocage de modèle. Les erreurs de blocage de modèle indiquent la présence d’erreurs graves telles que l’analyseur, l’interpréteur et d’autres erreurs dans les objets. La définition de cette option sur false permet de générer le modèle même s’il présente de telles erreurs graves. Par la suite, ces objets avec des erreurs de modèle peuvent être récupérés à l’aide de la GetModelErrors() méthode. Lorsque des objets avec des erreurs de blocage de modèle sont ajoutés au modèle, l’objet est modifié de sorte que les parties errantes soient supprimées ou commentées de manière optimale pour conserver les parties de l’objet qui n’ont pas d’erreurs. Par exemple, une procédure stockée qui a une erreur d’analyseur dans le corps de la procédure aura son corps commenté avant d’ajouter au modèle. Dans le pire des cas, l’objet est complètement supprimé tout en préservant les erreurs de modèle. Notez que l’implémentation actuelle gère les objets avec des erreurs de modèle comme suit
|