#### [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')