Table of Contents

Class ProjectionTagsAttribute

Namespace
Opossum.Projections
Assembly
Opossum.dll

Specifies the tag provider for a projection, enabling tag-based indexing and efficient queries. The tag provider will be automatically discovered and registered during assembly scanning.

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public sealed class ProjectionTagsAttribute : Attribute
Inheritance
ProjectionTagsAttribute
Inherited Members

Remarks

Example usage:

[ProjectionDefinition("StudentShortInfo")]
[ProjectionTags(typeof(StudentShortInfoTagProvider))]
public class StudentShortInfoProjection : IProjectionDefinition<StudentShortInfo>
{
    // ...
}

Constructors

ProjectionTagsAttribute(Type)

Initializes a new instance of the ProjectionTagsAttribute.

public ProjectionTagsAttribute(Type tagProviderType)

Parameters

tagProviderType Type

The type that implements IProjectionTagProvider<TState> for this projection. Must have a parameterless constructor or be resolvable from the DI container.

Exceptions

ArgumentNullException

Thrown when tagProviderType is null

ArgumentException

Thrown when tagProviderType does not implement IProjectionTagProvider<TState>

Properties

TagProviderType

Gets the type of the tag provider that implements IProjectionTagProvider<TState>

public Type TagProviderType { get; }

Property Value

Type