-
-
Notifications
You must be signed in to change notification settings - Fork 51
02_QuickStart
github-actions[bot] edited this page Dec 18, 2025
·
1 revision
This guide will help you get up and running with Facet in just a few steps.
dotnet add package Facet
For LINQ helpers:
dotnet add package Facet.Extensions
public class Person
{
public string Name { get; set; }
public string Email { get; set; }
public int Age { get; set; }
}using Facet;
// Class
[Facet(typeof(Person), exclude: nameof(Person.Email))]
public partial class PersonDto { }
// Record (inferred from 'record' keyword)
[Facet(typeof(Person))]
public partial record PersonDto { }
// Struct (inferred from 'struct' keyword)
[Facet(typeof(Person))]
public partial struct PersonDto { }var person = new Person { Name = "Alice", Email = "a@b.com", Age = 30 };
var dto = new PersonDto(person); // Uses generated constructorvar query = dbContext.People.Select(PersonDto.Projection).ToList();Or with Facet.Extensions:
using Facet.Extensions;
var dto = person.ToFacet<PersonDto>();
var dtos = personList.SelectFacets<PersonDto>();See the Attribute Reference and Extension Methods for more details.