# Value Objects > Source-generated scalar and complex value objects for .NET. F#-style single-case types for C#. Mark a partial struct or class with [Scalar] or [ValueObject] and an incremental source generator produces Create/Hydrate factories with normalization and validation, equality, comparison, implicit conversions, JSON converters, and contextual creation. Value objects serialize as their underlying value, map cleanly onto Entity Framework JSON columns, and can be validated with Purview.ZodSharp schemas. ## Resources - Repository: https://github.com/purview-dev/value-objects - Package: https://www.nuget.org/packages/Purview.ValueObjects - Project page: https://purview.dev/projects/value-objects/ - Documentation: https://purview.dev/docs/value-objects/ - Full machine-readable content: https://purview.dev/projects/value-objects/llms-full.txt ## Documentation pages - Value Objects: https://purview.dev/docs/value-objects/ - Entity Framework: https://purview.dev/docs/value-objects/entity-framework/ - Value Object Design: https://purview.dev/docs/value-objects/value-object-design/ - Validating Value Objects with ZodSharp: https://purview.dev/docs/value-objects/zodsharp-validation/