it:ad:code_first:fluentapi:properties

IT:AD:Code First:FluentAPI: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");
  • /home/skysigal/public_html/data/pages/it/ad/code_first/fluentapi/properties.txt
  • Last modified: 2023/11/04 22:54
  • by 127.0.0.1