SqlException: المعاملة الجديدة غير مسموح بها أثناء وجود سلاسل أخرى قيد التشغيل في الجلسة (Entity Framework)
مرحباً بالجميع! أنا مبتدئ في C# و Entity Framework، واجهت خطأ غير مفهوم. أكتب تطبيقاً بسيطاً على ASP.NET MVC مع SQL Server. يوجد دالة في الخدمة يجب أن تقوم بتحديث عدة سجلات في قاعدة البيانات. أستخدم حلقة `foreach`، وداخل الحلقة أستدعي `SaveChanges()` لكل سجل. وفي النهاية أحصل على الاستثناء التالي:
**SqlException: New transaction is not allowed because there are other threads running in the session.**
إليك الكود المبسط:
```csharp
public void UpdateOrders(List orders)
{
using (var context = new MyDbContext())
{
foreach (var order in orders)
{
order.Status = "Processed";
context.Entry(order).State = EntityState.Modified;
context.SaveChanges(); // الخطأ هنا في التكرار الثاني
```