سئو

Table Attribute – تغییر نام جدول دیتابیس در EF Core + ارائه سه روش

سلام دوستان ، آرزو ابراهیمی هستم توسعه دهنده وب ، با یک مقاله آموزشی دیگر از مجموعه مقالات اموزش mvc core سایت میزفا در خدمت شما عزیزان هستم .

پیشنهاد میکنم قبل از شروع مطالعه‌ی این مقاله آموزشی ، مقاله جلسه آموزشی ایجاد Database و جداول آن به روش CodeFirst را مطالعه و بررسی کنید چون می‌خواهم از پروژه جلسه گذشته در این جلسه آموزشی استفاده کنم.

سرفصل‌های پست

تغییر نام جداول دیتابیس SQL Server سه روش در EF Core

جهت تغییر نام جدول در دیتابیس اسکیوال سرور می‌توانیم از سه روش استفاده کنیم که در ادامه‌ی این مقاله آموزشی این سه روش را به صورت عملی باهم بررسی خواهیم کرد پس همراه با این مقاله باشید.

تغییر نام Table از طریق تغییر نام Property از نوع کلاس DbSet

این روش خیلی ساده است ، اگر یادتون باشه در جلسه آموزشی گذشته در کلاس Context پروژه (StudentDBContext) یک Property از نوع کلاس DbSet تعریف کردیم به نام Students .

چون نام این پراپرتی از نوع کلاس DbSet را Students قرار دادیم طبق نام این پراپرتی یک جدول برایمان در دیتابیس همنام این پراپرتی (Students) ایجاد می‌شود.

حالا اگر که می‌خواهید نام جدول خود را به StudentMaster یا هر نام دلخواهی تغییر دهید کافیه نام این پراپرتی را تغییر دهید. پس به سراغ کلاس StudentDBContext می‌روم و نام پراپرتی را به StudentMaster تغییر می‌دهم.

حالا باید دیتابیس را آپدیت کنیم جهت آپدیت Database پیشنهاد می‌کنم جلسه آموزشی بروزرسانی دیتابیس در Code First را مطالعه نمایید.

تغییر نام Table به روش Data Annotation Attributes

برای تغییر نام جدول در این روش از اتربیوت [Table()] بالای سر Domain Class مربوط به موجودیت دانشجو استفاده می‌کنیم ، بعد از اضافه نمودن اتریبیوت Table برای اینکه پروژه دچار خطا نشود باید using System.ComponentModel.DataAnnotations.Schema; را به قسمت using های کلاس Student اضافه کنید.

خب همانطور که در کد بالا مشاهده می‌کنید چون من می‌خواهم نام جدول موجودیت Student به StudentMaster تغییر دهم ، من این نام جدید جدول را به اتریبیوت Table ارسال میکنم به صورت روبه رو [Table('StudentMaster')]حالا کافی هست که دیتابیس را آپدیت کنید تا تغییر اعمال شود.

تغییر نام Table دیتابیس به روش Fluent API

با استفاده از روش Fluent روش های پیکربندی کلاس های Entity در Code First با آن آشنا شدید هم می‌توانید نام جدول را تغییر دهید.

ابتدا باید متد OnModelCreating را در کلاس Override ، StudentDBContext کنید طبق کد زیر

سپس باید یک نمونه از کلاس ModelBuilder را به متد OnModelCreating کلاس والد (DbContext) ارسال کنید به صورت رو به رو base.OnModelCreating(builder); که در کد بالا هم اینکار را انجام دادیم.

حالا برای تغییر نام جدول از متد Entity() استفاده می‌کنیم سپس از متد ToTable() و بعد نام جدیدی که می‌خواهیم به جدول اعمال شود را به متد ToTable پاس میدهیم به صورت روبه رو builder.Entity().ToTable('StudentMaster');

نکته : همین طور که در کد بالا مشاهده می‌کنید در روش Fluent API از یکسری متدها به صورت زنجیره ای و پشت سرهم می‌کنیم.

بسیار خب دوستان ، این مقاله آموزشی از مقالات اموزش asp.net با #C هم به پایان رسید امیدوارم که از این مقاله آموزشی هم رضایت داشته باشید سوالی ، انتقادی ، پیشنهادی دارید در قسمت نظرات حتما مطرح کنید.

5
/
5
(
1

امتیاز

)

ادامه خواندن در سایت منبع

دیدگاهتان را بنویسید