Skip to content

Remove the state for the Query builder. Update it as a calculated property. #418

@fiseni

Description

@fiseni

We no longer will keep the specification builder a state. It will be defined as a calculated property and we'll create an instance on access public ISpecificationBuilder<T> Query => new SpecificationBuilder<T>(this);

In version 9 we'll improve the builders, so the whole query can be written as a single chain. Therefore the common use will not require more than one allocation. By removing the state, we'll save an additional 8 bytes used for the reference.

Other than that, the property will no longer be defined as virtual. Not a single user is overriding and defining their specification builder. The builder is the essence of this library.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions