Forums Neueste Beiträge
 

Linq to Entity Phänomen

24/06/2010 - 18:30 von Michael Thelen | Report spam
Hallo zusammen,

ich nutze folgende Abfrage in meinem Code:

string test = "F412474";
MySQLEntities entities = new MySQLEntities();
var filterProtocols = from protocol in entities.Protokolls
//where protocol.Auftrag.JobCode.Equals("F412474")
where protocol.Auftrag.JobCode.Equals(test)
from filterProtocol in protocol.ProtokollFilters
join metadata in entities.FilterProtokollMetaDatas
on filterProtocol.IdProtokoll equals
metadata.IdProtokoll
where metadata.IdFilterMetaData == 3
group filterProtocol by filterProtocol.kategory;
foreach (var filterProtocol in filterProtocols) {
Console.WriteLine(filterProtocol.Key.ToString() + ": " +
filterProtocol.Sum<ProtokollFilter>(catSum => catSum.anzahl));
}
Console.ReadKey();

So funktioniert es tadellos und wenn ich mir das Ergebnis in
filterProtocols anschaue hat es auch die Form, die ich wollte und wie
ich es mir vorgestellt habe.

Tausche ich die 'where' Zeile gegen die Auskommentierte, dann bekomme
ich eine Exception, dass es die Spalte 'time' doppelt gibt. Ich kann mir
nicht erklàren wieso, zumal es in den den zusammengefügten Tabellen, die
Spalte 'time' nur ein mal gibt.

Ich nutze VS2010, .NET 4 und die aktuelle Version der MySQL .NET, die
2010 unterstützt.

Ich verstehe den Unterschied im Verhalten nicht.

Gruß
Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
24/06/2010 - 19:28 | Warnen spam
Hallo Michael,

... where protocol.Auftrag.JobCode.Equals("F412474")



was ist JobCode denn für ein Typ?
Oder ggf.: warum nimmst Du nicht == ?
Welche Version des MySql EF Providers?


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen