Entity Framework - Data Annotation تخصيص الجداول والأعمدة باستخدام [Table]، [Column]
8.6 Entity Framework - تخصيص الجداول والأعمدة باستخدام [Table] و[Column]
بشكل افتراضي، يقوم Entity Framework Core بإنشاء أسماء الجداول والأعمدة في قاعدة البيانات بناءً على أسماء الكيانات (Entities) والخصائص (Properties). ولكن أحيانًا نحتاج إلى تخصيص هذه الأسماء أو تغيير بعض الخصائص المرتبطة بها، وهنا نستخدم السمات [Table] و[Column].
🔹 [Table] - تخصيص اسم الجدول
تُستخدم خاصية [Table] لتحديد اسم مختلف للجدول في قاعدة البيانات بدلاً من الاعتماد على اسم الكيان نفسه.
مثال عملي:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
[Table("tbl_Products")]
public class Product
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
هنا سيتم إنشاء أو ربط الكيان Product بالجدول tbl_Products بدلًا من "Products".
🔹 [Column] - تخصيص اسم العمود أو خصائصه
تُستخدم خاصية [Column] لتحديد اسم مخصص للعمود أو لتحديد نوع البيانات في قاعدة البيانات.
مثال عملي:
public class Product
{
[Key]
public int Id { get; set; }
[Column("ProductName", TypeName = "nvarchar(200)")]
public string Name { get; set; }
}
في هذا المثال:
- سيتم تخزين الخاصية Name تحت عمود اسمه ProductName.
- وسيكون نوع البيانات في القاعدة nvarchar(200).
🔹 لماذا نستخدم [Table] و[Column]؟
- للتوافق مع قواعد البيانات القديمة (Legacy Databases) التي تستخدم أسماء مختلفة عن الكيانات الحالية.
- لتحديد خصائص إضافية للأعمدة مثل نوع البيانات أو الطول.
- لتنظيم القاعدة بشكل أفضل باستخدام أسماء موحدة أو مطلوبة حسب معايير العمل.
🔹 ملاحظة مهمة
إذا استخدمت [Table] أو [Column]، يجب التأكد أن الأسماء الجديدة لا تتعارض مع جداول أو أعمدة أخرى موجودة مسبقًا في قاعدة البيانات.
🔹 الخلاصة
توفر لك سمات [Table] و[Column] طريقة مرنة لتخصيص أسماء الجداول والأعمدة في قاعدة البيانات، مما يمنحك سيطرة أفضل على بنية القاعدة ويجعلك قادرًا على التوافق مع أي معايير تسميه خاصة بالمشروع أو المؤسسة.
تعليقات
إرسال تعليق