Namespace ArgentSea
Classes
DataConnectionConfiguration
Abstract class implementing the data connection functionality shared by PostgreSQL and SQL Server implementations.
DataResilienceConfiguration
This class contains the definition for a data resiliance strategy. Specifically: when to retry and when to circuit break.
This class is created as a configuration entry in an array in the DataResilienceStrategies property of the
DataResilienceOptions
This options class contains an array of resilience strategies (retry and circuit breaking settings). To specify as particular resilience strategy, a connection can specify a ResilienceKey.
DataSecurityOptions
This options class contains an array of SecurityConfiguration (login information). A connection can specify as particular login account by referencing a SecurityKey.
DbDataStores<TConfiguration>
This class is used by provider specific implementations. It is unlikely that you would reference this in consumer code. This generic class manages non-sharded database connections.
DbDataStores<TConfiguration>.DataConnection
DbDataStores<TConfiguration>.DbDataSets
DbParameterCollectionExtensions
ExpressionHelpers
This class is used by provider specific implementations. It is unlikely that you would reference this in consumer code.
InvalidMapTypeException
This exception is raise when a model property has a database mapping attribute that is not of the correct type.
InvalidShardArgumentsException
This error is raised upon an attempt to create an Empty ShardKey or ShardChild, but the IDs are not zero. Essentially, any shard object with a DataOrigin of '0' (Empty) must also have zeroed IDs (be equal to ShardKey.Empty or ShardChild.Empty).
LoggingExtensions
The are extension methods for high-performance logging.
Mapper
This static class contains the logic for mapping database parameters to/from properties.
Mapper.DummyType
MapShardChildAttribute
MapShardKeyAttribute
MapToModel
MultipleMapAttributesException
This exception is invoked if a model property has multiple mapping attributes. A single value cannot be mapped to/from multiple parameters or columns.
This exception is not raised in the case of
ParameterMapAttribute
QueryParameterCollection
This is an implementation of the abstract DbParameterCollecion class. Unlike most provider-specific parameter collections, it can be created without a prior DbCommand object instance.
RetryLimitExceededException
This exception is raise when a transient failure occurs, but automatic retries were not successful.
SecurityConfiguration
This class represents data security information, with a key that can be reference by any connection(s) that share the security information.
ShardDataStores<TShard, TConfiguration>
This class is used by provider specific implementations. It is unlikely that you would call this in consumer code. This is the generic class that defines connections for sharded data sets.
ShardDataStores<TShard, TConfiguration>.DataConnection
ShardDataStores<TShard, TConfiguration>.ShardDataSet
ShardDataStores<TShard, TConfiguration>.ShardDataSets
ShardDataStores<TShard, TConfiguration>.ShardInstance
StringExtensions
This static class contains extension methods for cleaning input strings of invalid characters. It does NOT sanitize input strings for protection against injection attacks (your parmemeterized queries should protect against that).
UnexpectedSqlResultException
The exception is thrown when an output parameter is expected, but not found, when ExecuteQueryToValueAsync is invoked.
Structs
DataOrigin
This object help descript the “type” of data. For example, you could assign Customer data a data origin value of 'c'. When comparing data values, the ShardKey/ShardChild will not match if the data origin is not the same value — even if IDs are the same. This helps prevent accidentaly comparisions that are not valid and also prevents collisions if you choose allows values of different types to be stored in the same cache.
ShardChild<TShard, TRecord, TChild>
Immutable class representing a sharded record with a database compound key. The ShardChild consist of the (virtual) shardId, the recordId, and the childId.
ShardKey<TShard, TRecord>
Immutable class representing a sharded record with a “compound” key: the (virtual) shardId and the (database) recordId.
Interfaces
IConnectionConfiguration
This interface is used by provider specific implementations. It is unlikely that you would reference this in consumer code. The interface defines the minimum capability of a connection definition.
IDataProviderServiceFactory
This interface is used by provider specific implementations. It is unlikely that you would reference this in consumer code. The interface defines the capabilities of a database providers service.
IDbConnectionConfiguration
This interface is used by provider specific implementations. It is unlikely that you would implement this in consumer code.
IDbDataConfigurationOptions
This interface is used by provider specific implementations. It is unlikely that you would implement this in consumer code.
IShardConnectionConfiguration<TShard>
This interface is used by provider specific implementations. It is unlikely that you would implement this in consumer code.
IShardConnectionsConfiguration<TShard>
This interface is used by provider specific implementations. It is unlikely that you would implement this in consumer code.
IShardDataConfigurationOptions<TShard>
This interface is used by provider specific implementations. It is unlikely that you would implement this in consumer code.
Enums
DataResilienceConfiguration.SequenceLengthening
LoggingExtensions.EventIdentifier
ShardDataStores<TShard, TConfiguration>.ShardInstance.DataAccess
StringExtensions.InputCleaningOptions
Delegates
QueryResultModelHandler<TShard, TArg, TModel>
This delegate will be invoked for each shard (probably on different threads) to convert the cmd.Execute result to model types.