ModelLoadOptions Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Optionen zum Laden eines Modells aus einer Datenquelle, z. B. einer Dacpac-Datei.
Diese Optionen können je nach Szenario sehr wichtig sein. Wenn Sie beispielsweise statische Codeanalyse mit der CodeAnalysisService Option ausführen, wird dringend empfohlen, dass die LoadAsScriptBackedModel Option auf "true" festgelegt wird, da viele Regeln eine vollständig skriptbasierte Quelle erwarten und möglicherweise nicht wie erwartet für ein nicht skriptgestütztes Modell funktionieren.
public sealed class ModelLoadOptions
type ModelLoadOptions = class
Public NotInheritable Class ModelLoadOptions
- Vererbung
-
ModelLoadOptions
Konstruktoren
| Name | Beschreibung |
|---|---|
| ModelLoadOptions() |
Erstellt eine Instanz mit ModelLoadOptions den Standardoptionen, die Speicher verwenden Memory und auf "false" festlegen LoadAsScriptBackedModel . |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean, Boolean) |
Erstellt eine Instanz mit ModelLoadOptions den angegebenen Optionen. |
| ModelLoadOptions(DacSchemaModelStorageType, Boolean) |
Erstellt eine Instanz mit ModelLoadOptions den angegebenen Optionen. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| LoadAsScriptBackedModel |
Soll das Modell geladen werden, damit Objekte durch skriptierte Darstellungen gesichert werden? In diesem Fall weisen Objekte im UserDefined Bereich einen Quellnamen und Quellpositionsinformationen auf. Beim Laden von einer Dacpac oder einer anderen nicht skriptgesteuerten Quelle enthält das Modell keine Quellinformationen. Dies bedeutet, dass beim Ausführen einer statischen Codeanalyse mit einigen CodeAnalysisService Regeln möglicherweise nicht ordnungsgemäß funktioniert und dass vorhandene Objekte im Modell nicht mithilfe der Methode ersetzt werden konnten, da es kein Skript mit ihrer AddOrUpdateObjects(String, String, TSqlObjectOptions) ursprünglichen Definition gibt. Für Szenarien, in denen die CodeAnalysisService Einstellung auf "true" festgelegt wird, wird dringend empfohlen. Ebenso kann es hilfreich sein, wenn Sie vorhandene Objekte in der Modelleinstellung auf "true" aktualisieren möchten. Beachten Sie, dass bei der Erstellung eines Skriptmodells möglicherweise erhebliche Leistungskosten anfallen. Alle Objekte der obersten Ebene im UserDefined Bereich werden als Zeichenfolgen ausgeskriptet und dann durch ihre skriptierten Darstellungen ersetzt, nach denen das Modell dann alle Beziehungen vollständig auflösen muss. Dies führt zu einem einmaligen Leistungstreffer zum Zeitpunkt des Ladens des Modells. |
| ModelStorageType |
Sollte das Modell im Arbeitsspeicher gespeichert werden oder sollte ein dateigestützter Speicher verwendet werden? |
| ThrowOnModelErrors |
Definiert, ob die Modellbearbeitungs-APIs einen DacModelException Auslösen auslösen, wenn im Modell Blockierungsfehler vorhanden sind. Beim Hinzufügen eines neuen Objekts oder beim Löschen/Ändern vorhandener Objekte im Modell mithilfe von API-Aufrufen wie AddObjects(String), AddOrUpdateObjects(String, String, TSqlObjectOptions)DeleteObjects(String) und ConvertToScriptedObject(TSqlObject, String)das Modell löst signalisiert das Vorhandensein von ModellblockierungsfehlernDacModelException. Fehler beim Blockieren von Modellen deuten darauf hin, dass schwerwiegende Fehler wie Parser, Dolmetscher und andere Fehler in den Objekten auftreten. Wenn Sie diese Option auf "false" festlegen, können Sie das Modell auch dann erstellen, wenn es solche schwerwiegenden Fehler aufweist. Anschließend können diese Objekte mit Modellfehlern mithilfe der GetModelErrors() Methode abgerufen werden. Wenn objekte mit Modellblockierungsfehlern zum Modell hinzugefügt werden, wird das Objekt so bearbeitet, dass fehlerhafte Teile entfernt oder auskommentiert werden, um die Teile des Objekts beizubehalten, die keine Fehler aufweisen. Beispielsweise wird eine gespeicherte Prozedur mit einem Parserfehler im Prozedurtext vor dem Hinzufügen zum Modell auskommentiert. Im schlimmsten Fall wird das Objekt vollständig gelöscht, während die Modellfehler beibehalten werden. Beachten Sie, dass die aktuelle Implementierung Objekte mit Modellfehlern wie folgt behandelt:
|