private void LoadGameObjects() { CultureInfo culture = Settings.DatabaseCulture; Observable.Start(() => { int minId = 0; // load a bunch of objects from database var provider = new MangosProvider(); return provider.GetGameObjects(culture) .Where(o => o.Type == (int)MangosTEx.Services.DataTypes.GameObjectType.TEXT) //.Where(o => o.Id > minId) .Take(150) .ToList(); }) .ObserveOnDispatcher() .Subscribe(result => { GameObjects = result; UpdateGameObjectLocaleEvent += OnUpdateGameObjectLocale; Task.Factory.StartNew(() => GetGameObjectsLocales(result)); }, OnError); }