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.