Size
This attribute is used to set the value of the DbParameter.Size
property via a class property.
Attribute
Below a sample code on how to use this attribute.
public class Person
{
public int Id { get; set; }
[Size(256)]
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 SizeAttribute(256));
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(SizeAttribute));
Or, via the PropertyValueAttributeMapper.
var attribute = PropertyValueAttributeMapper
.Get<Person>(e => e.Name)?
.FirstOrDefault(e => e.GetType() == typeof(SizeAttribute));
We strongly suggest to always use the PropertyValueAttributeCache to maximize the performance.