كيفية الحصول على ID السجل المضاف حديثًا في Entity Framework؟
مرحبًا! أنا مبتدئ في C# و Entity Framework. واجهت مشكلة: أقوم بإضافة كيان جديد إلى قاعدة البيانات، لكني أحتاج فورًا إلى الحصول على ID (المفتاح الأساسي، auto-increment) لاستخدامه لاحقًا في الكود. على سبيل المثال، أقوم بإنشاء طلب وأريد فورًا إضافة عناصر هذا الطلب التي تحتاج إلى ID الطلب.
إليك مثال الكود الخاص بي:
```csharp
using (var context = new MyDbContext())
{
var order = new Order
{
CustomerName = "إيفان إيفانوف",
OrderDate = DateTime.Now
};
context.Orders.Add(order);
context.SaveChanges();
// كيف يمكنني الآن الحصول على ID الطلب؟
// جربت order.Id لكنه يساوي 0!
Console.WriteLine(order.Id); // يطبع 0
}
```
جربت خيارات مختلفة، لكن ID دائمًا يُرجع 0 أو null. على الإنترنت يقولون إنه يجب عمل SaveChanges()، لكن هذا لا يساعد. ربما أقوم بتكوين النموذج بشكل خاطئ؟ في كلاس Order الخاص بي، الخاصية Id معرفة كـ `public int Id { get; set; }`. أنا استخدم