Lyo.People.Models
2.0.0
dotnet add package Lyo.People.Models --version 2.0.0
NuGet\Install-Package Lyo.People.Models -Version 2.0.0
<PackageReference Include="Lyo.People.Models" Version="2.0.0" />
<PackageVersion Include="Lyo.People.Models" Version="2.0.0" />
<PackageReference Include="Lyo.People.Models" />
paket add Lyo.People.Models --version 2.0.0
#r "nuget: Lyo.People.Models, 2.0.0"
#:package Lyo.People.Models@2.0.0
#addin nuget:?package=Lyo.People.Models&version=2.0.0
#tool nuget:?package=Lyo.People.Models&version=2.0.0
Lyo.People.Models
People-domain records: Person, contact, employment, identification, and relationships.
Archetype A (Lyo domain). Vendor ingest (e.g. Lyo.Endato.Client) is Archetype C. Map into people.* in the host. See package layout.
Examples
How to use it
using Lyo.People.Models;
using Lyo.People.Models.Contact;
using Lyo.People.Models.Enum;
using Lyo.People.Models.Extensions;
var person = new Person
{
Id = Guid.NewGuid(),
Name = new PersonName
{
FirstName = "Jane",
LastName = "Smith",
PreferredName = "Janey"
},
EmailAddresses =
{
new ContactEmailAddress
{
Type = ContactEmailType.Personal,
IsPrimary = true,
EmailAddress = new EmailAddress { Email = "jane@example.com" }
}
}
};
// Person instance helpers (primary / by-type / current selectors)
var primaryAddr = person.GetPrimaryAddress();
var workAddr = person.GetAddressByType(ContactAddressType.Work);
var primaryPhone = person.GetPrimaryPhoneNumber();
var mobilePhone = person.GetPhoneNumberByType(ContactPhoneType.Mobile);
var primaryEmail = person.GetPrimaryEmailAddress();
// PersonExtensions (typed convenience wrappers + verification checks)
var homeAddress = person.GetHomeAddress();
var workEmail = person.GetWorkEmail();
var personalMail = person.GetPersonalEmail();
var hasValidMail = person.HasValidEmail(); // true when any current email has VerifiedAt set
var hasValidTel = person.HasValidPhone(); // true when any current phone has VerifiedAt set
var currentJob = person.GetCurrentEmployment();
var activeRels = person.GetActiveRelationships();
// PersonName formatting
var initials = person.Name.GetInitials();
var formatted = person.Name.GetFormattedName(NameFormat.Formal);
var display = person.Name.DisplayName; // PreferredName ?? FullName
Overview
Demographics, contact info, addresses, employment, relationships, and preferences live on Person. Addresses reuse
Lyo.Geolocation.Models. Internal rows sit in people.* with parallel {entity}_source link tables (EntitySourceRecord / PeopleSourceTypes): source_entity_* plus imported_at (owner via parent FK). Aggregates implement IEntitySourceDerived (Sources, optional LocallyModifiedAt). Enriched locations may also be stored in geolocation.address. Cross-store links use EntityRef on source rows (e.g. GeolocationAddress), not cross-schema FKs.
Core types
- Person. Contact info, demographics, addresses, and metadata.
- PersonName. Preferred name, prefix, suffix, and formatting options.
- Employment. Title, company, dates, and compensation.
- Identification. Driver's license, passport, SSN, and similar documents.
Contact types
- PhoneNumber. Base phone number (E.164 format).
- EmailAddress. Base email address.
- ContactPhoneNumber. Person-phone link with type (home, mobile, work).
- ContactEmailAddress. Person-email link with type (work, personal).
- SocialMediaProfile. Profiles on social platforms (Twitter, LinkedIn, and similar).
- CommunicationPreferences. Channel preferences (SMS, email, marketing opt-in).
Preference types
- PersonPreferences. Timezone, contact method, language.
- PrivacyPreferences. Directory visibility and data sharing.
Relationship types
- PersonRelationship. Links between people (parent, spouse, employer, and similar).
Enums
- ContactEmailType. Work, Personal, Other.
- ContactPhoneType. Home, Mobile, Work, Fax, Other.
- RelationshipType. Parent, Spouse, Child, Employer, and similar.
- IdentificationType. DriversLicense, Passport, SSN, and similar.
- EmploymentType. PartTime, FullTime, Contract, Freelance, and similar.
- NameFormat. Formal, Full, Display, Initials, and similar.
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Common.Metadata(direct, lyo)Lyo.DateAndTime(direct, lyo)Lyo.EntityReference.Models(direct, lyo)Lyo.Geolocation.Models(direct, lyo)Lyo.Common.Core(transitive, lyo)Lyo.Exceptions(transitive, lyo)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.DateAndTime (>= 2.0.0)
- Lyo.EntityReference.Models (>= 2.0.0)
- Lyo.Geolocation.Models (>= 2.0.0)
-
net10.0
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.DateAndTime (>= 2.0.0)
- Lyo.EntityReference.Models (>= 2.0.0)
- Lyo.Geolocation.Models (>= 2.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lyo.People.Models:
| Package | Downloads |
|---|---|
|
Lyo.People.Postgres
PostgreSQL persistence for Lyo.People.Models using Entity Framework Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.