Как дождаться окончания процесса в EntityFramework?
Я работаю с EntityFramework
и Silverlight, и я имею дело с этой ситуацией. Когда я пытаюсь загрузить данные из EntitySet
Я должен получить данные из обратного вызова.
Теперь мне нужно получить данные немедленно, я имею в виду подождать, пока процесс не закончится.
В следующем коде часть, которую я хотел бы подождать Objectives
имущество. Или я не знаю, смогу ли я преобразовать метод обратного вызова в IAsyncResult
, или что-то типа того.
public class EntityService : IEntityService
{
public EntityService()
{
_entities = new DatabaseDomainContext();
}
private DatabaseDomainContext _entities;
public DatabaseDomainContext Entities
{
get { return _entities; }
set { _entities = value; }
}
private EntityList<Objective> _objectives;
public ObservableCollection<Objective> Objectives
{
get
{
if (_objectives == null)
{
var loadOp = _entities.Load(_entities.GetObjectivesQuery()/*, Callback, true*/);
_objectives = new EntityList<Objective>(_entities.Objectives, loadOp.Entities);
}
return _objectives;
}
}
}
1 ответ
Решение
Реализуйте INotifyPropertyChanged. Когда результаты вернутся, поднимите NotifyPropertyChanged.