IT:AD:Code First:FluentAPI:Properties

Examples: Properties

The following just specify contraints on size, key, etc.

For Relationship Contraints, see IT:AD:Code First:FluentAPI:Relationships

Primary Key

It's done automatically if you the fieldname is called Id or TheEntitityId, but if you can't use that field name:

modelBuilder.Entity<Manager>()
  .HasKey(ma => ma.ManagerCode);

Composite Keys

Use an anonymous object:

modelBuilder.Entity<Department>()
  .HasKey(t => new { t.DepartmentID, t.Name });

MaxLength

modelBuilder.Entity<Manager>().Property(ma => ma.Name)
  .HasMaxLength(20);

Required

modelBuilder.Entity<Department>().Property(dp => dp.Name)
  .IsRequired();

Ignore

You can ignore calculated columns:

modelBuilder.Entity<Department>().Ignore(t => t.Budget);

Mapping to a different Column

modelBuilder.Entity<Department>().Property(t => t.Name)
  .HasColumnName("DepartmentName");