Creates an alias or user-defined type.
Add-DataType [-SchemaName <String>] [-Name] <String> [-From] <String> [<CommonParameters>]
Add-DataType [-SchemaName <String>] [-Name] <String> -AssemblyName <String> -ClassName <String> [<CommonParameters>]
Add-DataType [-SchemaName <String>] [-Name] <String> -AsTable <ScriptBlock> [-TableConstraint <String[]>] [<CommonParameters>]
There are three different user-defined data types. The first is an alias, from a name you choose to a system datatype. The second is an assembly type, which uses a type stored in a .NET assembly. The third is a table data type, which create a type for a table.
| Name | Type | Description | Required? | Pipeline Input | Default Value |
|---|---|---|---|---|---|
| SchemaName | String | The schema for the type. Default is |
false | false | dbo |
| Name | String | The name of the type. |
true | false | |
| From | String | The system type to alias. |
true | false | |
| AssemblyName | String | The name of the assembly for the type's implementation. |
true | false | |
| ClassName | String | The name of the type's class implementation. |
true | false | |
| AsTable | ScriptBlock | A |
true | false | |
| TableConstraint | String[] | A list of table constraints for a table-based data type. |
false | false |
Add-DataType 'GUID' 'uniqueidentifier'
Demonstrates how to create a new alias data type called GUID which aliases the system uniqueidentifier.
Add-DataType 'Names' -AsTable { varchar 'Name' 50 } -TableConstraint 'primary key'
Demonstrates how to create a new table-based data type.
Add-DataType 'RivetDateTime' -AssemblyName 'Rivet' -ClassName 'Rivet.RivetDateTime'
Demonstrates how to create a RivetDateTime type that references the Rivet.RivetDateTime class. The Rivet assembly must first be registered using create assembly.