Доступ к модели в Entity Framework - PullRequest
0 голосов
/ 30 мая 2011

В чем проблема идеи о том, что у нас есть свойство static нашей модели сущностей, подобное этому?

public class Repository{

       private static KiaNetEntities entities = null;
       public static KiaNetEntities{
           get{ return entities; }
       }

       static Repository(){
           entities = new KiaNetDbEntities();
       }
}

и используем его так:

public static Customers[] GetCustomers(){
     var q = from c in KiaNetEntities.Customers where c.Activated select c;
     return q.ToArray();
}

public static Customers[] AddToCustomerSalary(int customerId, decimal newValue){
     var q = from c in KiaNetEntities.Customers 
     where c.Activated && c.ID == customerId
     select c;

     if(q.Count() > 0){
              var customer = q.First();
              customer.Salary += newValue;
              KiaNetEntities.SaveChanges();
     }
}

1 Ответ

1 голос
/ 30 мая 2011

В чем проблема? Их довольно много - некоторые из них описаны здесь , и вы можете добавить еще один - классы EF не являются поточно-ориентированными, поэтому совместное использование одного контекста между всеми запросами в вашем веб-приложении приведет к черту. Контекст и его внутренности не без гражданства, поэтому просто делиться ими - очень плохая идея.

...