TSqlModel Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a model of a SQL Server database schema.
public sealed class TSqlModel : IDisposable
type TSqlModel = class
interface IDisposable
Public NotInheritable Class TSqlModel
Implements IDisposable
- Inheritance
-
TSqlModel
- Implements
Constructors
TSqlModel(SqlServerVersion, TSqlModelOptions) |
Creates an empty model that targets a specific SqlServerVersion |
TSqlModel(String, DacSchemaModelStorageType, CancellationToken) |
Loads a model from a DacPackage or BacPackage. This is equivalent to calling LoadFromDacpac(String, ModelLoadOptions) with default values for
everything except the |
TSqlModel(String, DacSchemaModelStorageType) |
Loads a model from a DacPackage or BacPackage. This is equivalent to calling LoadFromDacpac(String, ModelLoadOptions) with default values for
everything except the |
TSqlModel(String) |
Loads a model from a DacPackage or BacPackage. This is equivalent to calling LoadFromDacpac(String, ModelLoadOptions) with default values. |
Properties
CollationComparer |
Comparer that can compare strings and ObjectIdentifiers using the collation of this TSqlModel. This can be very useful when comparing objects in the model since comparisons will be consistent with the expected comparison results in SQL Server |
DisplayServices |
Gets the DisplayServices that support producing display properties for objects in the model. |
EngineVersion |
The specific engine version targeted by the model. For On Premises platforms this will be consistent with the SqlServerVersion - for instance Sql90 will have an engine version of 9. For Microsoft Azure SQL Database the minimum valid version is 11, and the engine version will affect what features are supported in the model. |
IsScriptBacked |
Is this a model that is backed by scripts? In this case objects in the UserDefined scope will have source position information including a source name and information. This is important for scenarios such as use of the CodeAnalysisService. Any empty TSqlModel created will be script-backed by default. Models loaded from a Dacpac will only be scipt backed if the LoadAsScriptBackedModel option is enabled. Note that creating a script-backed model will take longer than using a standard model loaded from a Dacpac |
Version |
The specific SQL Server release targeted by the model. |
Methods
AddObjects(String, TSqlObjectOptions) |
Add Objects to the model based on the contents of a TSql Script string, plus additional metadata defined by a TSqlObjectOptions object The script should consist of valid TSql DDL statements. Objects added using this method cannot be updated or deleted at a later point as update/delete requires a script name to be specified when adding the objects. If this is a requirement use the AddOrUpdateObjects(String, String, TSqlObjectOptions) method instead. |
AddObjects(String) |
Adds objects to the model based on the contents of a TSql Script string. The script should consist of valid TSql DDL statements. Objects added using this method cannot be updated or deleted at a later point as update/delete requires a script name to be specified when adding the objects. If this is a requirement use the AddOrUpdateObjects(String, String, TSqlObjectOptions) method instead. |
AddObjects(TSqlScript, TSqlObjectOptions) |
Add Objects to the model based on the contents of a TSqlScript object, plus additional metadata defined by a TSqlObjectOptions object The script should be valid TSql with no parse errors. Objects added using this method cannot be updated or deleted at a later point as update/delete requires a script name to be specified when adding the objects. If this is a requirement use the AddOrUpdateObjects(TSqlScript, String, TSqlObjectOptions) method instead. |
AddObjects(TSqlScript) |
Adds objects to the model based on the contents of a TSqlScript object. The script should be valid TSql with no parse errors. Objects added using this method cannot be updated or deleted at a later point as update/delete requires a script name to be specified when adding the objects. If this is a requirement use the AddOrUpdateObjects(TSqlScript, String, TSqlObjectOptions) method instead. |
AddOrUpdateObjects(String, String, TSqlObjectOptions) |
Adds or updates the objects defined for a specified |
AddOrUpdateObjects(TSqlScript, String, TSqlObjectOptions) |
Adds or updates the objects defined for a specified |
CheckVersionCompatibility(SqlServerVersion, CancellationToken) |
Validates the model to determine whether it contains any elements that are not compatible with a target version of SQL Server or Azure SQL Database, and returns any errors or warnings. |
ConvertToScriptedObject(TSqlObject, String) |
Converts a specific top-level object in the model into a scripted representation of itself. This is useful when starting from a database sourced model and the caller wishes to modify this object's contents. |
CopyModelOptions() |
Copies the DatabaseOptions for the model to a TSqlModelOptions object. This is useful if you wish to duplicate the options for a model when creating a new model. |
DeleteObjects(String) |
Deletes any objects that were added to the model with the specified |
Dispose() |
Releases all resources used by the TSqlModel object. |
GetModelErrors() |
Returns all DacModelErrors that are present in the model. |
GetObject(ModelTypeClass, ObjectIdentifier, DacQueryScopes) |
Returns TSqlObjects of the specified |
GetObjects(DacQueryScopes, ModelTypeClass[]) |
Returns all TSqlObjects matching the list of |
GetObjects(ModelTypeClass, ObjectIdentifier, DacQueryScopes) |
Returns all TSqlObjects that match the ModelTypeClass and ObjectIdentifier.
Only top level ModelTypeClass types are supported by this method - the |
GetObjects(String, ModelTypeClass[]) |
Returns all TSqlObjects in a given |
LoadFromDacpac(Stream, ModelLoadOptions, CancellationToken) |
Loads a model from a DacPackage or BacPackage
using the specified |
LoadFromDacpac(Stream, ModelLoadOptions) |
Loads a model from a DacPackage or BacPackage
using the specified |
LoadFromDacpac(String, ModelLoadOptions, CancellationToken) |
Loads a model from a DacPackage or BacPackage
using the specified |
LoadFromDacpac(String, ModelLoadOptions) |
Loads a model from a DacPackage or BacPackage
using the specified |
LoadFromDatabase(String, ModelExtractOptions, Nullable<CancellationToken>) |
Loads a model from a database using the specified |
LoadFromDatabase(String, SecureString, ModelExtractOptions, Nullable<CancellationToken>) |
Loads a model from a database using the specified |
LoadFromDatabaseWithAuthProvider(String, IUniversalAuthProvider, ModelExtractOptions, Nullable<CancellationToken>) |
Loads a model from a database using the specified |
Validate() |
Validates the model and returns a list of messages with any errors/warnings. |