Mid
From PDF
EF Core
Entity Framework Core
How do you configure mappings (table names, column names, keys) using Data Annotations vs Fluent API?
Short answer: 🧩 Data Annotations (in the entity class): [Table("Users")] public class User
Example code
{ [Key] public int Id { get; set; } [Column("UserName")] public string Name { get; set; }
} 🧠 Fluent API (in OnModelCreating): modelBuilder.Entity<User>() .ToTable("Users") .HasKey(u => u.Id); modelBuilder.Entity<User>() .Property(u => u.Name) .HasColumnName("UserName"); 📌 Fluent API is more powerful and flexible, preferred for complex configurations.
Real-world example (ShopNest)
ShopNest’s order service uses EF Core to save an Order and its line items in one SaveChangesAsync() call inside a transaction.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png