PDA

View Full Version : مشخص کردن نام کلید خارجی با استفاده از Fluent API در EF Code First



jaykob
دوشنبه 02 تیر 1393, 11:31 صبح
سلام

من یک موجودیت دانشجو و یک موجودیت نمرات دارم که یک رابطه یک به چند دارند در Fluent API من رابطه رو به شکل زیر تعریف کردم . آیا درست است رابطه ؟ و اینکه نام کلید خارجی رو چطور خودم مشخص کنم ؟



this.HasOptional(x => x.students)
.WithMany()
.HasForeignKey(x => x.StudentId)
.WillCascadeOnDelete(true);


ممنون

sunn789
دوشنبه 02 تیر 1393, 13:02 عصر
به جز این میتونید با همون کلاس مدل کلید خارجی رو تعریف کنی . و از Fluent API هم استفاده نکنی هر چند استفاده از Fluent API خودش یه مزایایی هم داره

jaykob
دوشنبه 02 تیر 1393, 14:56 عصر
به جز این میتونید با همون کلاس مدل کلید خارجی رو تعریف کنی . و از Fluent API هم استفاده نکنی هر چند استفاده از Fluent API خودش یه مزایایی هم داره

خیلی ممنون اما سوال من این بود که در Fluent API چطور نام کلید خارجی رو خودم Custom کنم ؟؟

helpsos
سه شنبه 03 تیر 1393, 09:27 صبح
سلام
داخل کلاس Context از این کد استفاده کن
public DbSet<Phone> Phones { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Phone>().Property(x=>x.PhoneId).HasColumnName("namecolumn");

base.OnModelCreating(modelBuilder);
}