public sealed class SearchPeopleResultsViewModel : ViewModelBase { private LinqAsyncDataSourceProvider _provider; private PeopleContext _context; public SearchPeopleResultsViewModel() { _context = new PeopleContext(); _context.Configuration.ProxyCreationEnabled = false; _context.Configuration.AutoDetectChangesEnabled = false; _context.Configuration.LazyLoadingEnabled = false; IQueryable people = _context.People.AsNoTracking(); _provider = new LinqAsyncDataSourceProvider(people); } public DataSourceProvider SearchResults { get { return _provider; } } protected override void Dispose(bool disposing) { try { if (disposing) { if (null != _provider) { _provider.Dispose(); _provider = null; } if (null != _context) { _context.Dispose(); _context = null; } } } finally { base.Dispose(disposing); } } }