Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# LINQ - Dotaz - ASP .NET

Ahoj, nevím zda je možno můj dotaz řešit, asi je moc komplexní.

Mám databázi. Ta obsahuje tabulku Osob, míst a položek.
Tyto jsou provázany vazbami.

V pohodě mi tak funguje následující dotaz:
(nezalekněte se delší třídy, dotaz je jednoduchý)

 public class InventoryItemRow
    {
        InventoryItem _item = null;

        public InventoryItemRow(InventoryItem item)
        {
            _item = item;
        }

        public int ID
        {
            get
            {
                return _item.ID;
            }

        }

        public string Name
        {
            get
            {
                return _item.Name;
            }
        }
        public string Description
        {
            get
            {
                return _item.Description;
            }
        }
        public int InventoryNumber
        {
            get
            {
                return _item.InventoryNumber;
            }
        }

        public string PersonName
        {
            get
            {
                if (_item.Person == null)
                    return "";

                return _item.Person.Name;
            }
        }

        public string lokalita
        {
            get
            {
                if (_item.Person == null)
                    return "";
                return _item.Place.Name;
            }


        }


        public string ValidFrom
        {
            get
            {
                return _item.ValidFrom.ToShortDateString();


            }
        }

        public string ValidTo
        {
            get
            {
                if (_item.ValidTo == null)
                    return "";

                if (_item.ValidTo.HasValue)
                    return _item.ValidTo.Value.ToShortDateString();

                return "";

            }
        }

        public bool IsSelected { get; set; }

        public string PlaceID
        {
            get
            {
                return PlaceID;


            }


        }

        public string PersonId
        {
            get
            {
                return PersonId;


            }



        }


// A dotaz fungující vypadá takto:

 var context = new InventorySQL();

 var MyItems = context.InventoryItems.Where(l => l.Persons.id > 3).ToList();

   var rows = new List<InventoryItemRow>();

            foreach (var it in MyItems)
                rows.Add(new InventoryItemRow(it));
          
            
       //  Načtení výsledku do Gridu
         
            this.GridView1.DataSource = rows;
            this.GridView1.DataBind();
    



Uvedená ukázka bez problému funguje.
Já chci však implementovat fulltextové hledání a na to používám následující konstrukce:


                var rows = new List<InventoryItemRow>();

                var results = context.ExecuteQuery<InventoryItemRow>(@"Select Name From InventoryItems");

             // Foreach hlásí chybu   
                foreach (var it in results)
                    rows.Add(new InventoryItemRow(it));




                this.GridView1.DataSource = rows;
                this.GridView1.DataBind();


Jediné místo, kde to nefunguje je foreach, který v tomto případě hlásí chybu:
Error foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'



Napadá někoho, jak tuto chybku opravit?

Díky.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny