یکی از روشهای تنظیم مدلها در EF Core است که به مااجازه میدهد تنظیمات پیشرفتهتر و پیچیدهتری را نسبت به Data Annotations اعمال کنیم.
برای استفاده از Fluent API، باید متد OnModelCreating را در کلاس DbContext خود override کنیم و از کلاس ModelBuilder برای پیکربندی مدلها استفاده کنیم.
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public decimal Price { get; set; }
}
public class AppDbContext : DbContext
{
public DbSet<Book> Books { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFCoreFluentApi;Trusted_Connection=True;");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// پیکربندی مدل Book با استفاده از Fluent API
modelBuilder.Entity<Book>(entity =>
{
entity.HasKey(e => e.Id);
entity.Property(e => e.Title)
.IsRequired()
.HasMaxLength(100);
entity.Property(e => e.Author)
.IsRequired();
entity.Property(e => e.Price)
.HasColumnType("decimal(18,2)");
});
}
یکی از روشهای تنظیم مدلها در EF Core است که به مااجازه میدهد تنظیمات پیشرفتهتر و پیچیدهتری را نسبت به Data Annotations اعمال کنیم. برای استفاده از Fluent API، باید متد OnModelCreating را در کلاس DbContext خود override کنیم و از کلاس ModelBuilder برای پیکربندی مدلها استفاده کنیم.
public class Book {
}
public class AppDbContext : DbContext {
}