Как сохранить объект запроса контекста объектов в общий список?

В моем последнем вопросе я успешно выгружаю данные в поле со списком с решением от Лео, но теперь я хочу получить все от конкретного пользователя и сохранить в общий список. я пробовал с этим кодом, но он не работает. Могу ли я узнать, что-то не так с моим кодом?

  var contexti = new OrganizationContext();
  //contexti.Load(contexti.GetAdminPassQuery(userName), LoadInfo, null);
  EntityQuery query = contexti.GetAdminPassQuery(userName);
  contexti.Load<tblAdmin>(query).Completed += (sender, args) =>
           {
                  List<AdminInfo> list = ((LoadOperation<tblAdmin>) sender).Entities.
                                         ToList();}

это в контексте домена.

    public IQueryable<tblAdmin>  GetAdminPass(string adminId)
    {
        return this.ObjectContext.tblAdmins.Where(e => e.adminID.Equals(adminId));
    }

это общее хранилище списков во вспомогательной папке

    public class AdminInfo
{
    public string AdminId { get; set; }
    public string AFirstName { get; set; }
    public string ALastName { get; set; }
    public string AEmail { get; set; }
    public string APassword { get; set; }
}

Спасибо за ответ


person 1myb    schedule 05.11.2011    source источник
comment
ToList -> ToList‹AdminInfo›()   -  person DeveloperX    schedule 05.11.2011


Ответы (1)


AdminInfo — это не тот же тип, что и tblAdmin, поэтому вам нужно вручную создать новый список:

contexti.Load<tblAdmin>(query).Completed += (sender, args) =>
{
    List<AdminInfo> list = new List<AdminInfo>();

    //for each entity returned, create a new AdminInfo and add it to the list
    foreach (var item in ((LoadOperation<Car>)sd).Entities)
    {
        list.Add(new AdminInfo(){ AdminId = item.AdminId, AFirtsName = item.FirstName /*other properties*/});
    }

}
person Leo    schedule 05.11.2011
comment
Спасибо, и еще раз =D, вы мне очень помогли... подбодрить, и я надеюсь, что смогу отправить вам пиво =D - person 1myb; 05.11.2011