Есть ли какая-либо "лучшая практика" в отношении обработки Datacontext в Entity Framework 4?
В настоящее время я делаю что-то подобное в каждом окне:
public class MyWindow()
{
MyEntities() _entities;
MyWindow()
{
_entities = new MyEntities();
InitializeComponent();
}
}
и затем загрузка в сетку данных следующим образом:
myGrid.ItemsSource= _entities.MyTable;
Это не очень умно, потому что ErrorHandling на этом невозможен.
Я бы лучше выбрал Connection-Class и сделал бы что-то вроде этого:
public class MyData()
{
public IQueryable<Product> GetAllProducts()
{
using(MyContext context = new MyContext())
{
return context.Products;
}
}
}
Но сначала это создает новый контекст-экземпляр каждый раз - разве это не плохо?
Или мне лучше обрабатывать глобальный статический DataContext в моем Connection-Class? Разве эта статическая переменная не перегружена?
public class MyData()
{
private static MyContext Context = new MyContext();
public IQueryable<Product> GetAllProducts()
{
return Context.Products;
}
}