Name
This attribute is used to set the value of the DbParameter.Name
property via a class property.
Attribute
Below a sample code on how to use this attribute.
public class Person
{
public int Id { get; set; }
[Name("ColumnName")]
public string Name { get; set; }
}
This works exactly the same as Map or the Table attribute of the System.ComponentModel.DataAnnotations.Schema namespace.
Fluent Mapping
Below is a sample code on how to use this attribute via FluentMapper.
FluentMapper
.Entity<Person>()
.PropertyValueAttributes(e => e.Name, new NameAttribute("ColumnName"));
The value from the database table/view is taking the precedence if present.
Retrieval
You can retrieve the attribute via PropertyValueAttributeCache.
var attribute = PropertyValueAttributeCache
.Get<Person>(e => e.Name)?
.FirstOrDefault(e => e.GetType() == typeof(NameAttribute));
Or, via the PropertyValueAttributeMapper.
var attribute = PropertyValueAttributeMapper
.Get<Person>(e => e.Name)?
.FirstOrDefault(e => e.GetType() == typeof(NameAttribute));
We strongly suggest to always use the PropertyValueAttributeCache to maximize the performance.