Laden...

Linq to Object Query Frage

Erstellt von elron vor 13 Jahren Letzter Beitrag vor 13 Jahren 992 Views
E
elron Themenstarter:in
171 Beiträge seit 2004
vor 13 Jahren
Linq to Object Query Frage

Gibt es die Möglichkeit eine Linq Query mit einem anonymen Type zu bauen?

var query = from object in objectList where object.Name = "Hans" select object;

Grüße

16.807 Beiträge seit 2008
vor 13 Jahren

Hallo,

in deinem Fall wäre query eine Liste von Objekten, deren Namen "Hans" ist.
Du kannst dem select aber ein neuen, anonymen Typ zuweisen.



var query = from ob in objectList
            where ob.Name = "Hans"
            select new { Name = ob.Name,
                         Irgendwas = wasauchimmer
            };

// Und dann ist ganz gewöhnlich
foreach (var item in query)
item.Name ... item.Irgendwas


Ist es das, was Du meinst?

E
elron Themenstarter:in
171 Beiträge seit 2004
vor 13 Jahren

Mhh geht schon in die Richtung danke für deinen Post.
Habe hier noch ein Problem.


var query = GetQuery(Guid.Parse("ee2bcaf1-d630-4f2a-9f6e-0130a6d92f62"));
ItemType item = query.Single();

IEnumerable<ItemType> GetQuery(Guid id)
{
     return (IEnumerable<ItemType>)from item in Manager.Items where item.Id == id select item;
}

Problem ist, dass ich hier kein Result zurückbekomme, es müsste aber was zurückkommen!

Brauche ich hier evtl. "CompiledQuery.Compile" o.ä. ?

Grüße

5.941 Beiträge seit 2005
vor 13 Jahren

Hallo elron

Was ist "Manager.Items" und besteht eine solche ID (GUID) in der Items-Auflistung?
Wenn ja, müsste es theoretisch funktionieren.

Falls du nicht weiterkommst, nimm den Code auseinander.
D.h. sowas wie:

var items = Manager.Items; // gucken was drin ist
var single = items.Single(item => item.Id == <Guid>); // Exception, wenn nicht vorhanden.

usw.

So kannst du die Geschichte auch debuggen und besser nachvollziehen.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011