Я только вхожу в Entity Framework 4 и в конце концов надеялся обернуть его в шаблон репозитория, используя POCO. Я обнаружил то, чего не ожидал. Похоже, что если вы создаете контекст, добавляете к нему объект (без сохранения контекста) и снова запрашиваете контекст, он не включает новый объект в результаты. Я делаю что-то неправильно? Похоже, он должен вернуть то, что я добавил, даже если я еще не сохранил результаты обратно в базу данных. Вот мой пример кода:
ShopEntities context = new ShopEntities();
// there is only 1 customer so far
var customers = from c in context.Customers
select c;
Console.WriteLine(customers.Count()); // displays 1
Customer newCustomer = context.Customers.CreateObject();
newCustomer.FirstName = "Joe";
newCustomer.LastName = "Smith";
context.Customers.AddObject(newCustomer);
var customers2 = from c in context.Customers
select c;
Console.WriteLine(customers2.Count()); // still only displays 1
context.SaveChanges();
var customers3 = from c in context.Customers
select c;
Console.WriteLine(customers3.Count()); // only after saving does it display 2