Link Search Menu Expand Document

EntityMapFluentDefinition


A class used to define entity-level mappings for tables, columns, primary and identity keys, database types, and class/property handlers. It is returned by the Entity() method of the FluentMapper class.

Mapping a Database Table/View

Use the Table() method to map an entity to a database table.

var definition = FluentMapper.Entity<Customer>();
definition.Table("[sales].[Customer]");

Uses ClassMapper internally.

Mapping a Table Column

Use the Column() method to map an entity property to a table column.

var definition = FluentMapper.Entity<Customer>();
definition.Column(e => e.FirstName, "[FName]");

Or via property name.

var definition = FluentMapper.Entity<Customer>();
definition.Column("FirstName", "[FName]");

Or via Field object.

var definition = FluentMapper.Entity<Customer>();
var field = new Field("FirstName");
definition.Column(field, "[FName]");

Uses PropertyMapper internally.

Defining a Primary Property

Use the Primary() method to define the primary key property.

var definition = FluentMapper.Entity<Customer>();
definition.Primary(e => e.Id);

Or via property name.

var definition = FluentMapper.Entity<Customer>();
definition.Primary("Id");

Or via Field object.

var definition = FluentMapper.Entity<Customer>();
var field = new Field("Id");
definition.Primary(field);

Uses PrimaryMapper internally.

Defining an Identity Property

Use the Identity() method to define the identity property.

var definition = FluentMapper.Entity<Customer>();
definition.Identity(e => e.Id);

Or via property name.

var definition = FluentMapper.Entity<Customer>();
definition.Identity("Id");

Or via Field object.

var definition = FluentMapper.Entity<Customer>();
var field = new Field("Id");
definition.Identity(field);

Uses IdentityMapper internally.

Mapping a Database Type

Use the DbType() method to map a database type to an entity property.

var definition = FluentMapper.Entity<Customer>();
definition.DbType(e => e.DateOfBirth, DbType.DateTime2);

Or via property name.

var definition = FluentMapper.Entity<Customer>();
definition.DbType("DateOfBirth", DbType.DateTime2);

Or via Field object.

var definition = FluentMapper.Entity<Customer>();
var field = new Field("DateOfBirth");
definition.Identity(field, DbType.DateTime2);

Uses TypeMapper internally.

Defining a Class Handler

Use the ClassHandler method to assign a class handler to the entity.

var definition = FluentMapper.Entity<Customer>();
definition.ClassHandler<CustomerClassHandler>();

Uses ClassHandlerMapper internally.

Defining a Property Handler

Use the PropertyHandler() method to assign a property handler to an entity property.

var definition = FluentMapper.Entity<Customer>();
definition.PropertyHandler<CustomerAddressPropertyHandler>(e => e.Address);

Or via property name.

var definition = FluentMapper.Entity<Customer>();
definition.PropertyHandler<CustomerAddressPropertyHandler>("Address");

Or via Field object.

var definition = FluentMapper.Entity<Customer>();
var field = new Field("Address");
definition.PropertyHandler<CustomerAddressPropertyHandler>("Address");

Uses PropertyHandlerMapper internally.