Ich bin ein wenig verwirrt mit einer Aussage, die ich gerade ausprobiere. Ich arbeite mit LINQ zu EntitiesLINQ kann nach Assoziation filtern, gibt aber 0 Ergebnisse zurück, wenn direkt referenziert wird
Ich habe in den folgenden Code kommentiert. Es ist die letzte Console.WriteLine, die ich nicht verstehe. Ich schätze anyones Eingang auf diesem
using(Ecommerce.Data.Entities.EcommerceEntities ents = new Ecommerce.Data.Entities.EcommerceEntities())
{
//This returns 1 item as expected
var items = from a in ents.Product
where a.ProductVarianceOption.Count() > 0
select a;
foreach (var item in items)
{
//This outputs AT07 as expected
Console.WriteLine(item.ProductCode);
//This outputs 0 , but because I was able to query
//only those which had a count greater than 0 above
//I do not know why this is returning 0
Console.WriteLine(item.ProductVarianceOption.Count());
}
}
TIA
Andrew
UPDATE: nur für den Fall jemand anderes in dieser läuft, und dank Marc GRA, hier ist die Lösung. Marc Gravells Kommentar drängte mich, die IsLoaded-Eigenschaft und auch die Load-Methode zu finden. Danke:
using(Ecommerce.Data.Entities.EcommerceEntities ents = new Ecommerce.Data.Entities.EcommerceEntities())
{
//This returns 1 item as expected
var items = from a in ents.Product
where a.ProductVarianceOption.Count() > 0
select a;
foreach (var item in items)
{
//This outputs AT07 as expected
Console.WriteLine(item.ProductCode);
//This outputs 0 , but because I was able to query
//only those which had a value greater than 0 above
//I do not know why this is returning 0
Console.WriteLine(item.ProductVarianceOption.Count());
//Load in the data required
item.ProductVariance.Load();
//Load in the data required
item.ProductVarianceOption.Load();
//This now outputs 2. ... As Expected. Thanks to Marc Gravell. :-)
Console.WriteLine(item.ProductVarianceOption.Count());
}
}