#### [DiGi\.PostgreSQL\.PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Overview.md 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Overview')
## DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes Namespace
### Classes
## PartitionUniqueReference Class
Represents a unique reference for a partition\.
```csharp
public class PartitionUniqueReference : DiGi.Core.Classes.SerializableReference
```
Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [DiGi\.Core\.Classes\.SerializableReference](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializablereference 'DiGi\.Core\.Classes\.SerializableReference') → PartitionUniqueReference
### Constructors
## PartitionUniqueReference\(\) Constructor
Initializes a new instance of the [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference') class\.
```csharp
public PartitionUniqueReference();
```
## PartitionUniqueReference\(PartitionUniqueReference\) Constructor
Initializes a new instance of the [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference') class by copying an existing instance\.
```csharp
public PartitionUniqueReference(DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference? partitionUniqueReference);
```
#### Parameters
`partitionUniqueReference` [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')
The source instance to copy\.
## PartitionUniqueReference\(string, IUniqueReference\) Constructor
Initializes a new instance of the [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference') class with the specified name and unique reference\.
```csharp
public PartitionUniqueReference(string? name, DiGi.Core.Interfaces.IUniqueReference? uniqueReference);
```
#### Parameters
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the partition\.
`uniqueReference` [DiGi\.Core\.Interfaces\.IUniqueReference](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniquereference 'DiGi\.Core\.Interfaces\.IUniqueReference')
The unique reference for the partition\.
## PartitionUniqueReference\(JsonObject\) Constructor
Initializes a new instance of the [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference') class from a JSON object\.
```csharp
public PartitionUniqueReference(System.Text.Json.Nodes.JsonObject? jsonObject);
```
#### Parameters
`jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')
The JSON object to initialize from\.
### Properties
## PartitionUniqueReference\.Name Property
Gets the name of the partition unique reference\.
```csharp
public string? Name { get; }
```
#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
## PartitionUniqueReference\.UniqueReference Property
Gets the unique reference associated with the partition\.
```csharp
public DiGi.Core.Interfaces.IUniqueReference? UniqueReference { get; }
```
#### Property Value
[DiGi\.Core\.Interfaces\.IUniqueReference](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniquereference 'DiGi\.Core\.Interfaces\.IUniqueReference')
### Methods
## PartitionUniqueReference\.Clone\(\) Method
Creates a deep copy of the current partition unique reference\.
```csharp
public override DiGi.Core.Interfaces.ISerializableObject? Clone();
```
Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone')
#### Returns
[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')
A new [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') instance that is a clone of this object\.
## PartitionUniqueReference\.Equals\(object\) Method
Determines whether the specified object is equal to the current partition unique reference\.
```csharp
public override bool Equals(object? obj);
```
#### Parameters
`obj` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object')
The object to compare with the current instance\.
#### Returns
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
True if the objects are equal; otherwise, false\.
## PartitionUniqueReference\.GetHashCode\(\) Method
Gets the hash code for the current partition unique reference\.
```csharp
public override int GetHashCode();
```
#### Returns
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')
A 32\-bit signed integer hash code\.
## PartitionUniqueReference\.ToString\(\) Method
Returns a string representation of the partition unique reference\.
```csharp
public override string? ToString();
```
#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
A string combining the name and unique reference, or null if either is missing\.
## PartitionUniqueReferenceGeneratingEventArgs Class
Provides data for events that occur during the generation of a partition unique reference\.
```csharp
public class PartitionUniqueReferenceGeneratingEventArgs : DiGi.PostgreSQL.Classes.ReferenceGeneratingEventArgs
```
Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.EventArgs](https://learn.microsoft.com/en-us/dotnet/api/system.eventargs 'System\.EventArgs') → [DiGi\.PostgreSQL\.Classes\.ReferenceGeneratingEventArgs](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.referencegeneratingeventargs 'DiGi\.PostgreSQL\.Classes\.ReferenceGeneratingEventArgs') → PartitionUniqueReferenceGeneratingEventArgs
### Constructors
## PartitionUniqueReferenceGeneratingEventArgs\(object\) Constructor
Initializes a new instance of the [PartitionUniqueReferenceGeneratingEventArgs](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferenceGeneratingEventArgs 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferenceGeneratingEventArgs') class\.
```csharp
public PartitionUniqueReferenceGeneratingEventArgs(object? item);
```
#### Parameters
`item` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object')
The item for which the reference is being generated\.
### Properties
## PartitionUniqueReferenceGeneratingEventArgs\.PartitionReference Property
Gets or sets the partition reference associated with this event\.
```csharp
public DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference? PartitionReference { get; set; }
```
#### Property Value
[DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.partitionreference.classes.partitionreference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')
## PartitionUniqueReferenceGeneratingEventArgs\.PartitionUniqueReference Property
Gets the generated partition unique reference based on the provided item and partition reference\.
```csharp
public DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference? PartitionUniqueReference { get; }
```
#### Property Value
[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')
## PartitionUniqueReferencePostgreSQLConverter Class
A non\-generic implementation of the partition unique reference converter using [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')\.
```csharp
public class PartitionUniqueReferencePostgreSQLConverter : DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter
```
Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter<](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.postgresqlconverter-1 'DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.postgresqlconverter-1 'DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter\`1') → [DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter<](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_ 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_ 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\') → PartitionUniqueReferencePostgreSQLConverter
### Constructors
## PartitionUniqueReferencePostgreSQLConverter\(ConnectionData\) Constructor
Initializes a new instance of the [PartitionUniqueReferencePostgreSQLConverter](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter') class\.
```csharp
public PartitionUniqueReferencePostgreSQLConverter(DiGi.PostgreSQL.Classes.ConnectionData? connectionData);
```
#### Parameters
`connectionData` [DiGi\.PostgreSQL\.Classes\.ConnectionData](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.connectiondata 'DiGi\.PostgreSQL\.Classes\.ConnectionData')
The connection data used to establish a database connection\.
## PartitionUniqueReferencePostgreSQLConverter\ Class
Provides functionality to convert and manage partition unique references within a PostgreSQL database for objects implementing [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')\.
```csharp
public class PartitionUniqueReferencePostgreSQLConverter : DiGi.PostgreSQL.Classes.PostgreSQLConverter
where TSerializableObject : DiGi.Core.Interfaces.ISerializableObject
```
#### Type parameters
`TSerializableObject`
The type of the serializable object, which must implement [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')\.
Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter<](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.postgresqlconverter-1 'DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter\`1')[TSerializableObject](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_.TSerializableObject 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\\.TSerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.postgresqlconverter-1 'DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter\`1') → PartitionUniqueReferencePostgreSQLConverter\
Derived
↳ [PartitionUniqueReferencePostgreSQLConverter](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter')
### Constructors
## PartitionUniqueReferencePostgreSQLConverter\(ConnectionData\) Constructor
Initializes a new instance of the [PartitionUniqueReferencePostgreSQLConverter<TSerializableObject>](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_ 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\') class\.
```csharp
public PartitionUniqueReferencePostgreSQLConverter(DiGi.PostgreSQL.Classes.ConnectionData? connectionData);
```
#### Parameters
`connectionData` [DiGi\.PostgreSQL\.Classes\.ConnectionData](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.connectiondata 'DiGi\.PostgreSQL\.Classes\.ConnectionData')
The connection data used to establish a database connection\.
### Methods
## PartitionUniqueReferencePostgreSQLConverter\\.Clean\(bool, bool\) Method
Cleans the specified partitions and types from the database\.
```csharp
public System.Threading.Tasks.Task Clean(bool partitions=true, bool types=true);
```
#### Parameters
`partitions` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
A value indicating whether to clean partitions\.
`types` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
A value indicating whether to clean types\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains true if any partitions or types were cleaned; otherwise, false\.
## PartitionUniqueReferencePostgreSQLConverter\\.ContainsAsync\(Type\) Method
Checks asynchronously whether the specified type exists in the database\.
```csharp
public System.Threading.Tasks.Task ContainsAsync(DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type? type);
```
#### Parameters
`type` [Type](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.Type')
The type to check for existence\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains true if the type exists; otherwise, false\.
## PartitionUniqueReferencePostgreSQLConverter\\.ContainsAsync\(IEnumerable\\) Method
Checks asynchronously whether the specified collection of partition unique references exists in the database\.
```csharp
public System.Threading.Tasks.Task?> ContainsAsync(System.Collections.Generic.IEnumerable? partitionUniqueReferences);
```
#### Parameters
`partitionUniqueReferences` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
The collection of unique references to check\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.HashSet<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains a hash set of existing unique references, or null if the input was null or connection failed\.
## PartitionUniqueReferencePostgreSQLConverter\\.ContainsAsync\(Type\) Method
Checks asynchronously whether the specified system type exists in the database\.
```csharp
public System.Threading.Tasks.Task ContainsAsync(System.Type? type);
```
#### Parameters
`type` [System\.Type](https://learn.microsoft.com/en-us/dotnet/api/system.type 'System\.Type')
The system type to check for existence\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains true if the type exists; otherwise, false\.
## PartitionUniqueReferencePostgreSQLConverter\\.GetDataType\(string\) Method
Gets the data type associated with the specified name\.
```csharp
public virtual DiGi.PostgreSQL.Enums.DataType GetDataType(string? name);
```
#### Parameters
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the entity to determine the data type for\.
#### Returns
[DiGi\.PostgreSQL\.Enums\.DataType](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.enums.datatype 'DiGi\.PostgreSQL\.Enums\.DataType')
The [DiGi\.PostgreSQL\.Enums\.DataType](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.enums.datatype 'DiGi\.PostgreSQL\.Enums\.DataType') associated with the name, or [DiGi\.PostgreSQL\.Enums\.DataType\.Undefined](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.enums.datatype.undefined 'DiGi\.PostgreSQL\.Enums\.DataType\.Undefined') if the name is null or whitespace\.
## PartitionUniqueReferencePostgreSQLConverter\\.GetSerializableObjectAsync\\(PartitionUniqueReference\) Method
Retrieves a single serializable object asynchronously based on the provided unique reference\.
```csharp
public System.Threading.Tasks.Task GetSerializableObjectAsync(DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference? partitionUniqueReference)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable object\.
#### Parameters
`partitionUniqueReference` [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')
The unique reference used to locate the object\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[USerializableObject](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_.GetSerializableObjectAsync_USerializableObject_(DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference).USerializableObject 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\\.GetSerializableObjectAsync\\(DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference\)\.USerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains the found object, or default if not found or input is null\.
## PartitionUniqueReferencePostgreSQLConverter\\.GetSerializableObjectsAsync\\(IEnumerable\\) Method
Retrieves a list of serializable objects asynchronously based on the provided collection of unique references\.
```csharp
public System.Threading.Tasks.Task?> GetSerializableObjectsAsync(System.Collections.Generic.IEnumerable? partitionUniqueReferences)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable objects\.
#### Parameters
`partitionUniqueReferences` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
The collection of unique references used to locate the objects\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[USerializableObject](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_.GetSerializableObjectsAsync_USerializableObject_(System.Collections.Generic.IEnumerable_DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference_).USerializableObject 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\\.GetSerializableObjectsAsync\\(System\.Collections\.Generic\.IEnumerable\\)\.USerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains a list of found objects, or null if input is null or connection failed\.
## PartitionUniqueReferencePostgreSQLConverter\\.RemoveAsync\(PartitionUniqueReference, bool\) Method
Removes a single unique reference from the database asynchronously\.
```csharp
public System.Threading.Tasks.Task RemoveAsync(DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference? partitionUniqueReference, bool clean=true);
```
#### Parameters
`partitionUniqueReference` [PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')
The unique reference to remove\.
`clean` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
A value indicating whether to perform a cleaning operation after removal\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains the removed unique reference, or null if not found or input is null\.
## PartitionUniqueReferencePostgreSQLConverter\\.RemoveAsync\(IEnumerable\, bool\) Method
Removes the specified collection of unique references from the database asynchronously\.
```csharp
public System.Threading.Tasks.Task?> RemoveAsync(System.Collections.Generic.IEnumerable? partitionUniqueReferences, bool clean=true);
```
#### Parameters
`partitionUniqueReferences` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
The collection of unique references to remove\.
`clean` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
A value indicating whether to perform a cleaning operation after removal\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.HashSet<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains a hash set of removed unique references, or null if input is null or connection failed\.
## PartitionUniqueReferencePostgreSQLConverter\\.UpdateAsync\(TSerializableObject\) Method
Updates a single serializable object in the database asynchronously\.
```csharp
public System.Threading.Tasks.Task UpdateAsync(TSerializableObject? serializableObject);
```
#### Parameters
`serializableObject` [TSerializableObject](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_.TSerializableObject 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\\.TSerializableObject')
The object to update\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains the unique reference of the updated object, or null if input is null or update failed\.
## PartitionUniqueReferencePostgreSQLConverter\\.UpdateAsync\\(IEnumerable\\) Method
Updates a collection of serializable objects in the database asynchronously\.
```csharp
public System.Threading.Tasks.Task?> UpdateAsync(System.Collections.Generic.IEnumerable? serializableObjects)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable objects\.
#### Parameters
`serializableObjects` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[USerializableObject](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferencePostgreSQLConverter_TSerializableObject_.UpdateAsync_USerializableObject_(System.Collections.Generic.IEnumerable_USerializableObject_).USerializableObject 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferencePostgreSQLConverter\\.UpdateAsync\\(System\.Collections\.Generic\.IEnumerable\\)\.USerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
The collection of objects to update\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.HashSet<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[PartitionUniqueReference](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReference 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
A task that represents the asynchronous operation\. The task result contains a hash set of unique references for the updated objects, or null if input is null or connection failed\.
### Events
## PartitionUniqueReferencePostgreSQLConverter\\.PartitionUniqueReferenceReferenceGenerating Event
Occurs when a partition unique reference is being generated\.
```csharp
public event PartitionUniqueReferenceGeneratingEventHandler? PartitionUniqueReferenceReferenceGenerating;
```
#### Event Type
[PartitionUniqueReferenceGeneratingEventHandler\(object, PartitionUniqueReferenceGeneratingEventArgs\)](DiGi.PostgreSQL.PartitionUniqueReference.Delegates.md#DiGi.PostgreSQL.PartitionUniqueReference.Delegates.PartitionUniqueReferenceGeneratingEventHandler(object,DiGi.PostgreSQL.PartitionUniqueReference.Classes.PartitionUniqueReferenceGeneratingEventArgs) 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Delegates\.PartitionUniqueReferenceGeneratingEventHandler\(object, DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.PartitionUniqueReferenceGeneratingEventArgs\)')
## Type Class
Represents a type definition with an ID and name, used for partitioning unique references\.
```csharp
public class Type : DiGi.Core.Classes.SerializableObject, DiGi.PostgreSQL.Interfaces.IPostgreSQLSerializableObject, DiGi.PostgreSQL.Interfaces.IPostgreSQLObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject
```
Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → Type
Implements [DiGi\.PostgreSQL\.Interfaces\.IPostgreSQLSerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.interfaces.ipostgresqlserializableobject 'DiGi\.PostgreSQL\.Interfaces\.IPostgreSQLSerializableObject'), [DiGi\.PostgreSQL\.Interfaces\.IPostgreSQLObject](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.interfaces.ipostgresqlobject 'DiGi\.PostgreSQL\.Interfaces\.IPostgreSQLObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject'), [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject')
### Constructors
## Type\(Type\) Constructor
Initializes a new instance of the [Type](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.Type') class by copying another instance\.
```csharp
public Type(DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type type);
```
#### Parameters
`type` [Type](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.Type')
The type instance to copy\.
## Type\(short, string\) Constructor
Initializes a new instance of the [Type](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.Type') class with the specified ID and name\.
```csharp
public Type(short id, string name);
```
#### Parameters
`id` [System\.Int16](https://learn.microsoft.com/en-us/dotnet/api/system.int16 'System\.Int16')
The unique identifier of the type\.
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the type\.
## Type\(JsonObject\) Constructor
Initializes a new instance of the [Type](DiGi.PostgreSQL.PartitionUniqueReference.Classes.md#DiGi.PostgreSQL.PartitionUniqueReference.Classes.Type 'DiGi\.PostgreSQL\.PartitionUniqueReference\.Classes\.Type') class from a JSON object\.
```csharp
public Type(System.Text.Json.Nodes.JsonObject jsonObject);
```
#### Parameters
`jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')
The JSON object containing the type definition data\.
### Properties
## Type\.Id Property
Gets the unique identifier of the type\.
```csharp
public short Id { get; }
```
#### Property Value
[System\.Int16](https://learn.microsoft.com/en-us/dotnet/api/system.int16 'System\.Int16')
## Type\.Name Property
Gets the name of the type\.
```csharp
public string? Name { get; }
```
#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')