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
tagProviderTypeTypeThe 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; }