Top 20 modelbuilder code

 avatar
unknown
csharp
10 months ago
3.3 kB
1
Indexable
.HasKey()

Birincil anahtar tanımlar.

modelBuilder.Entity<User>()
    .HasKey(u => u.UserId);
    
.HasAlternateKey()

Alternatif bir anahtar tanımlar (benzersiz kısıtlama gibi çalışır).

modelBuilder.Entity<User>()
    .HasAlternateKey(u => u.Email);
.HasIndex()

Belirli bir sütun veya sütunlar üzerinde bir indeks tanımlar.

modelBuilder.Entity<User>()
    .HasIndex(u => u.Email)
    .IsUnique();
.Property()

Bir varlık sınıfının belirli bir özelliğini yapılandırır.

modelBuilder.Entity<User>()
    .Property(u => u.Email)
    .IsRequired()
    .HasMaxLength(100);
.HasOne()

Bir varlık arasındaki birebir veya bire çok ilişkiyi tanımlar.

modelBuilder.Entity<Order>()
    .HasOne(o => o.Customer)
    .WithMany(c => c.Orders)
    .HasForeignKey(o => o.CustomerId);
.HasMany()

Bir varlık arasındaki çoklu ilişkiyi tanımlar.

modelBuilder.Entity<Customer>()
    .HasMany(c => c.Orders)
    .WithOne(o => o.Customer);
.WithOne()

Bir varlık arasındaki birebir ilişkiyi tanımlar.

modelBuilder.Entity<Address>()
    .HasOne(a => a.Customer)
    .WithOne(c => c.Address)
    .HasForeignKey<Customer>(c => c.AddressId);
.WithMany()

Bir varlık arasındaki çoklu ilişkiyi tanımlar.
Örnek:
csharp
Kodu kopyala
modelBuilder.Entity<Customer>()
    .HasMany(c => c.Orders)
    .WithOne(o => o.Customer);
.HasForeignKey()

Yabancı anahtar tanımlar.

modelBuilder.Entity<Order>()
    .HasOne(o => o.Customer)
    .WithMany(c => c.Orders)
    .HasForeignKey(o => o.CustomerId);
.HasDefaultValue()

Bir özelliğe varsayılan değer tanımlar.

modelBuilder.Entity<User>()
    .Property(u => u.IsActive)
    .HasDefaultValue(true);
.IsRequired()

Bir özelliği zorunlu yapar (NULL olamaz).

modelBuilder.Entity<User>()
    .Property(u => u.Email)
    .IsRequired();
.HasMaxLength()

Bir metin alanı için maksimum uzunluk belirler.

modelBuilder.Entity<User>()
    .Property(u => u.Email)
    .HasMaxLength(100);
.HasColumnName()

Bir sütunun adını belirler.

modelBuilder.Entity<User>()
    .Property(u => u.Email)
    .HasColumnName("email_address");
.HasColumnType()

Bir sütunun veri türünü belirler.

modelBuilder.Entity<User>()
    .Property(u => u.CreatedAt)
    .HasColumnType("datetime");
.HasComputedColumnSql()

Hesaplanmış bir sütun tanımlar.

modelBuilder.Entity<Order>()
    .Property(o => o.TotalPrice)
    .HasComputedColumnSql("[Quantity] * [UnitPrice]");
.HasDefaultValueSql()

Varsayılan bir SQL değeri tanımlar.

modelBuilder.Entity<User>()
    .Property(u => u.CreatedAt)
    .HasDefaultValueSql("GETDATE()");
.Ignore()

Bir özelliği göz ardı eder ve veri tabanında haritalamaz.

modelBuilder.Entity<User>()
    .Ignore(u => u.TempPassword);
.ToTable()

Varlığı belirli bir tabloya eşler.


modelBuilder.Entity<User>()
    .ToTable("tbl_users");
.OwnsOne()

Bir varlık içerisinde bir kompleks türü sahiplenir.

modelBuilder.Entity<Order>()
    .OwnsOne(o => o.ShippingAddress);
.UsePropertyAccessMode()

Özellik erişim modunu belirler.

modelBuilder.Entity<User>()
    .Property(u => u.Email)
    .UsePropertyAccessMode(PropertyAccessMode.Field);
    
Editor is loading...
Leave a Comment