#### [DiGi\.PostgreSQL\.PartitionReference](DiGi.PostgreSQL.PartitionReference.Overview.md 'DiGi\.PostgreSQL\.PartitionReference\.Overview')
## DiGi\.PostgreSQL\.PartitionReference\.Classes Namespace
### Classes
## PartitionReference Class
Represents a reference to a partition\.
```csharp
public class PartitionReference : 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') → PartitionReference
### Constructors
## PartitionReference\(\) Constructor
Initializes a new instance of the [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference') class\.
```csharp
public PartitionReference();
```
## PartitionReference\(PartitionReference\) Constructor
Initializes a new instance of the [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference') class by copying another reference\.
```csharp
public PartitionReference(DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference? partitionReference);
```
#### Parameters
`partitionReference` [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')
The source reference to copy\.
## PartitionReference\(string, string\) Constructor
Initializes a new instance of the [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference') class with a specified name and unique identifier\.
```csharp
public PartitionReference(string? name, string? uniqueId);
```
#### Parameters
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the partition\.
`uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The unique identifier of the partition\.
## PartitionReference\(JsonObject\) Constructor
Initializes a new instance of the [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference') class from a JSON object\.
```csharp
public PartitionReference(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
## PartitionReference\.Name Property
Gets the name of the partition reference\.
```csharp
public string? Name { get; }
```
#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
## PartitionReference\.UniqueId Property
Gets the unique identifier for this reference\.
```csharp
public string? UniqueId { get; }
```
#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
### Methods
## PartitionReference\.Clone\(\) Method
Creates a deep copy of the current partition 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 the current object\.
## PartitionReference\.Equals\(object\) Method
Determines whether the specified object is equal to the current partition 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 object\.
#### Returns
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
True if the objects are equal; otherwise, false\.
## PartitionReference\.GetHashCode\(\) Method
Returns the hash code for the current partition 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\.
## PartitionReference\.ToString\(\) Method
Returns a string representation of the partition reference, combining the name and unique identifier with a separator\.
```csharp
public override string? ToString();
```
#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
A string representing the partition reference, or null if the name or unique identifier is empty\.
## PartitionReferenceGeneratingEventArgs Class
Provides data for events that occur during the generation of a partition reference\.
```csharp
public class PartitionReferenceGeneratingEventArgs : 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') → PartitionReferenceGeneratingEventArgs
### Constructors
## PartitionReferenceGeneratingEventArgs\(object\) Constructor
Initializes a new instance of the [PartitionReferenceGeneratingEventArgs](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferenceGeneratingEventArgs 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferenceGeneratingEventArgs') class\.
```csharp
public PartitionReferenceGeneratingEventArgs(object? item);
```
#### Parameters
`item` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object')
The item associated with the event\.
### Properties
## PartitionReferenceGeneratingEventArgs\.PartitionReference Property
Gets or sets the partition reference associated with this event\.
```csharp
public DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference? PartitionReference { get; set; }
```
#### Property Value
[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')
## PartitionReferencePostgreSQLConverter Class
A non\-generic implementation of the partition reference PostgreSQL converter using ISerializableObject\.
```csharp
public class PartitionReferencePostgreSQLConverter : DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter
```
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\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter<](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_ 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_ 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\') → PartitionReferencePostgreSQLConverter
### Constructors
## PartitionReferencePostgreSQLConverter\(ConnectionData\) Constructor
Initializes a new instance of the [PartitionReferencePostgreSQLConverter](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter') class\.
```csharp
public PartitionReferencePostgreSQLConverter(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\.
## PartitionReferencePostgreSQLConverter\ Class
Provides a converter for managing partition references within a PostgreSQL database for serializable objects\.
```csharp
public class PartitionReferencePostgreSQLConverter : DiGi.PostgreSQL.Classes.PostgreSQLConverter
where TSerializableObject : DiGi.Core.Interfaces.ISerializableObject
```
#### Type parameters
`TSerializableObject`
The type of the serializable object that implements 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.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_.TSerializableObject 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\\.TSerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.postgresql.classes.postgresqlconverter-1 'DiGi\.PostgreSQL\.Classes\.PostgreSQLConverter\`1') → PartitionReferencePostgreSQLConverter\
Derived
↳ [PartitionReferencePostgreSQLConverter](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter')
### Constructors
## PartitionReferencePostgreSQLConverter\(ConnectionData\) Constructor
Initializes a new instance of the [PartitionReferencePostgreSQLConverter<TSerializableObject>](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_ 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\') class\.
```csharp
public PartitionReferencePostgreSQLConverter(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
## PartitionReferencePostgreSQLConverter\\.ContainsAsync\\(IEnumerable\\) Method
Asynchronously checks if the specified partition references exist in the database\.
```csharp
public System.Threading.Tasks.Task?> ContainsAsync(System.Collections.Generic.IEnumerable? partitionReferences);
```
#### Type parameters
`TUniqueReference`
The type of the unique reference used for the check\.
#### Parameters
`partitionReferences` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
A collection of partition references to verify\.
#### 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')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](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 hash set containing the existing partition references, or null if the input is null or connection fails\.
## PartitionReferencePostgreSQLConverter\\.CountAsync\(string\) Method
Asynchronously counts the number of elements associated with a specific partition name\.
```csharp
public System.Threading.Tasks.Task CountAsync(string name);
```
#### Parameters
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the partition to count\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Int64](https://learn.microsoft.com/en-us/dotnet/api/system.int64 'System\.Int64')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
The total count of elements, or \-1 if the name is null or an error occurs\.
## PartitionReferencePostgreSQLConverter\\.GetDataType\(string\) Method
Retrieves the data type associated with a given partition 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 partition\.
#### 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') of the partition, or DataType\.Undefined if the name is null or whitespace\.
## PartitionReferencePostgreSQLConverter\\.GetSerializableObjectAsync\\(PartitionReference\) Method
Asynchronously retrieves a single serializable object associated with the specified partition reference\.
```csharp
public System.Threading.Tasks.Task GetSerializableObjectAsync(DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference? partitionReference)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable object\.
#### Parameters
`partitionReference` [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')
The partition reference to retrieve the object for\.
#### 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.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_.GetSerializableObjectAsync_USerializableObject_(DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference).USerializableObject 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\\.GetSerializableObjectAsync\\(DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference\)\.USerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
The retrieved serializable object, or default if not found or input is null\.
## PartitionReferencePostgreSQLConverter\\.GetSerializableObjectsAsync\\(string\) Method
Asynchronously retrieves a list of serializable objects associated with the specified partition name\.
```csharp
public System.Threading.Tasks.Task?> GetSerializableObjectsAsync(string? name)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable object\.
#### Parameters
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the partition\.
#### 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.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_.GetSerializableObjectsAsync_USerializableObject_(string).USerializableObject 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\\.GetSerializableObjectsAsync\\(string\)\.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 list of retrieved serializable objects, or default if input is null or connection fails\.
## PartitionReferencePostgreSQLConverter\\.GetSerializableObjectsAsync\\(IEnumerable\\) Method
Asynchronously retrieves a list of serializable objects associated with the specified partition references\.
```csharp
public System.Threading.Tasks.Task?> GetSerializableObjectsAsync(System.Collections.Generic.IEnumerable? partitionReferences)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable object\.
#### Parameters
`partitionReferences` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
A collection of partition references to retrieve objects for\.
#### 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.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_.GetSerializableObjectsAsync_USerializableObject_(System.Collections.Generic.IEnumerable_DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference_).USerializableObject 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\\.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 list of retrieved serializable objects, or null if input is null or connection fails\.
## PartitionReferencePostgreSQLConverter\\.RemoveAsync\(PartitionReference\) Method
Asynchronously removes a single partition reference from the database\.
```csharp
public System.Threading.Tasks.Task RemoveAsync(DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference? partitionReference);
```
#### Parameters
`partitionReference` [PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')
The partition reference to remove\.
#### Returns
[System\.Threading\.Tasks\.Task<](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
The removed partition reference, or default if not found or input is null\.
## PartitionReferencePostgreSQLConverter\\.RemoveAsync\(string\) Method
Asynchronously removes a partition reference identified by its name\.
```csharp
public System.Threading.Tasks.Task RemoveAsync(string? name);
```
#### Parameters
`name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
The name of the partition to remove\.
#### 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')
True if the partition was successfully removed, otherwise false\.
## PartitionReferencePostgreSQLConverter\\.RemoveAsync\(IEnumerable\\) Method
Asynchronously removes a collection of partition references from the database\.
```csharp
public System.Threading.Tasks.Task?> RemoveAsync(System.Collections.Generic.IEnumerable? partitionReferences);
```
#### Parameters
`partitionReferences` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
A collection of partition references to remove\.
#### 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')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](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 hash set containing the removed partition references, or null if input is null or connection fails\.
## PartitionReferencePostgreSQLConverter\\.RemoveAsync\(IEnumerable\\) Method
Asynchronously removes multiple partition references identified by their names\.
```csharp
public System.Threading.Tasks.Task?> RemoveAsync(System.Collections.Generic.IEnumerable? names);
```
#### Parameters
`names` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
A collection of partition names to remove\.
#### 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')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[>](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 hash set containing the names of successfully removed partitions, or null if input is null\.
## PartitionReferencePostgreSQLConverter\\.UpdateAsync\(TSerializableObject\) Method
Asynchronously updates a single serializable object in the database\.
```csharp
public System.Threading.Tasks.Task UpdateAsync(TSerializableObject? serializableObject);
```
#### Parameters
`serializableObject` [TSerializableObject](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_.TSerializableObject 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\\.TSerializableObject')
The serializable 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')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')
The updated partition reference, or null if input is null or update fails\.
## PartitionReferencePostgreSQLConverter\\.UpdateAsync\\(IEnumerable\\) Method
Asynchronously updates a collection of serializable objects in the database\.
```csharp
public System.Threading.Tasks.Task?> UpdateAsync(System.Collections.Generic.IEnumerable? serializableObjects)
where USerializableObject : TSerializableObject;
```
#### Type parameters
`USerializableObject`
The specific type of the serializable object\.
#### 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.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferencePostgreSQLConverter_TSerializableObject_.UpdateAsync_USerializableObject_(System.Collections.Generic.IEnumerable_USerializableObject_).USerializableObject 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferencePostgreSQLConverter\\.UpdateAsync\\(System\.Collections\.Generic\.IEnumerable\\)\.USerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
A collection of serializable 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')[PartitionReference](DiGi.PostgreSQL.PartitionReference.Classes.md#DiGi.PostgreSQL.PartitionReference.Classes.PartitionReference 'DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReference')[>](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 hash set containing the updated partition references, or null if input is null or connection fails\.
### Events
## PartitionReferencePostgreSQLConverter\\.PartitionReferenceGenerating Event
Event that is triggered when a partition reference is being generated\.
```csharp
public event PartitionReferenceGeneratingEventHandler? PartitionReferenceGenerating;
```
#### Event Type
[PartitionReferenceGeneratingEventHandler\(object, PartitionReferenceGeneratingEventArgs\)](DiGi.PostgreSQL.PartitionReference.Delegates.md#DiGi.PostgreSQL.PartitionReference.Delegates.PartitionReferenceGeneratingEventHandler(object,DiGi.PostgreSQL.PartitionReference.Classes.PartitionReferenceGeneratingEventArgs) 'DiGi\.PostgreSQL\.PartitionReference\.Delegates\.PartitionReferenceGeneratingEventHandler\(object, DiGi\.PostgreSQL\.PartitionReference\.Classes\.PartitionReferenceGeneratingEventArgs\)')