Как добавить данные в другой класс из методов класса обслуживания домена WCF в silverlight? - PullRequest
0 голосов
/ 18 февраля 2012

Привет, я использую сервисный класс WCF RIA в Silverlight.

У меня есть элемент управления линейной диаграммы с именем mcChart, в котором я связал источник элемента с Date и Amount свойствами класса customer.

public class Customer
    { 
      public DateTime Date{ get; set; }
      public int Amount{ get; set; }    
    } 

У меня есть этот метод через класс обслуживания домена ria WCF для доступа к таблице sql gardenwater{Id, Date, Amt}:

public IQueryable<gardenwater> GetGardenwaters()
        {
            return this.ObjectContext.gardenwaters;
        }

Теперь я хочу сохранить данные в List<Customer> cust = new List<Customer>();, чтобы их можно было отобразить на графике.

Я пытался так:

EntityQuery<gardenwater> inquery = from c in wdc.GetGardenwatersQuery()
                                   select new { Date =Convert.ToDateTime(c.Date), Amount =Convert.ToInt32(c.usedwater) };

, а затем

foreach (var gardenWater in inquery )
            {
                cust.Add(new Customer() { Date = Convert.ToDateTime(gardenWater.Date), Amount = Convert.ToInt32(gardenWater.usedwater) });
            }

 mcChart.DataContext = cust;

Делая все вышеперечисленное, я не могу добиться хороших результатов.

Я хочу отобразить данные путем хранения данных таблицы SQL в свойствах класса.

Пожалуйста, предложите мне, что я могу сделать или какие ошибки я делаю?

1 Ответ

0 голосов
/ 19 февраля 2012

Я уже решил это ... я могу использовать следующие

            private ContextName context;
            private LoadOperation LoadGardenWater;
            private void GetGardenWater()
            {
                context = new ContextName();
                context.GardenWaters.Clear();
                var query = context.GetGardenWaterQuery();
                LoadGardenWater = context.Load<GardenWater>(query);
                LoadGardenWater.Completed +=new EventHandler(LoadGardenWater_Completed);
            }

            void LoadGardenWater_Completed(object sender, EventArgs e)
            {
                List<Customer> cust = new List<Customer>();
                if (LoadGardenWater.Entities != null || LoadGardenWater.Entities.Count()> 0)
                {
                    foreach (GardenWater item in LoadGardenWater.Entities)
                    {
                        cust.Add(new Customer()
                        {
                            Amount = Convert.ToInt32(item.Amount),
                            Date = Convert.ToDateTime(item.Date)
                        });
} 
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...