2010-03-28 8 views
1

На Clien стороны у меня есть следующие присваивания списка объектов к сетке:РИА: как перехватить данные

 var customerContext = new RiaTestCustomDomainContext(); 
     CustomerGrid.ItemsSource = customerContext.Customers; 
     customerContext.Load(customerContext.GetCustomersQuery()); 

Это работает хорошо, но я woudl хотел бы иметь один и тот же список объектов в отдельный сбор и использование его для популяций других объектов.

Когда я попытался оттолкнуть customerContext.Customers в список я получил ошибку:

Cannot implicitly convert type 'System.Windows.Ria.EntitySet' to 'System.Collections.ObjectModel.ObservableCollection'

Вот код, который я пытался скомпилировать:

 var customerContext = new RiaTestCustomDomainContext(); 
     ObservableCollection<Customer> customers = customerContext.Customers; 

Могли бы вы, пожалуйста, посоветуйте, как я могу получить данные в список <> коллекция?

Спасибо.

ответ

1

Предполагая, что вы работаете в коде позади или модели вида, прикрепленной к вашей презентации XAML.

Убедитесь, что System.Linq находится в вашем списке пользователей.

public class XXX 
{ 
    private CustomerContext _context; 

    private List<Customer> _customers; 

    public XXX() 
    { 
    _customers = new List<Customer>(); 
    LoadData(); 
    } 

    public void LoadData() 
    { 
    LoadOperation<Customer> loader = _context.Load<Customer>(_context.GetCustomerQuery()); 
    loader.Completed += (s,e) => 
     { 
     _customers = (s as LoadOperation<Customer>).Entities.ToList(); 
     }; 
    } 
} 

Запомните, что вы открываете асинхронный запрос с помощью CustomerContext. Событие Completed вернется впоследствии с (надеюсь) вашими клиентами.

Смежные вопросы