2016-07-26 28 views
0

Ich habe ein Problem mit der LINQ-Abfrage. Ich hatte 2 Querys, die für mich Informationen aus zwei verschiedenen Datenbanken bekommen, dann versuche ich in der dritten Frage die ersten beiden Queries "beizutreten" und einige Informationen von ihnen zu bekommen. HierLINQ. Enthält in der Liste

ist der Code für die 3. Abfrage:

 var test = (from z in list1 
        where list2.Contains(z.Group) 
        select new 
        { 
         z.delivery, 
         z.Number, 
        }).ToList(); 

I'v erhielt Fehler auf

 list2.Contains(z.Group) 

Was mir sagt, dass ich nicht von String anonymen Typ umwandeln kann.

Hier ist auch Code für list2:

 var list2 = (from gTowarowe in db.Towarowes 
        where gTowarowe.typ == mon 
        select new 
        { 
         Towarowe.grupa 
        }).ToList(); 

Kann mir jemand dabei helfen? Ich kann das Ergebnis von list2 nicht verbinden, weil ich keine gleichen Spalten habe.

Edit:

This is they output when i got select new : And this is the one with new list2 query

+0

dies wird dazu beitragen Mai 'list2.Select (x => x.grupa) .ToList(). Enthält (z.Group)' –

Antwort

1

list2 ist anonymer Typ.

list2 = new {...} 

list2 muss Stringliste sein.

var list2 = (from gTowarowe in db.Towarowes 
       where gTowarowe.typ == mon 
       select gTowarowe.grupa 
      ).ToList(); 

Aktualisiert
var test = (from z in list1 
where list2.Any(i => i.grupa.Contains(z.Group)) 
select new 
{ 
z.delivery, 
z.Number, 
}).ToList(); 
+0

Es ist ein Wert von DataBase – JustSomeNewbie

+0

@ JustSomeNewbie Mein schlechtes Nicht 'z.Group' Es ist list2 Entferne' neues' in linq query Die Antwort wird aktualisiert – NEER

+0

Jetzt anstelle der Werte in list2 habe ich Length20 für jede Zeile, also gibt es irgendwie keinen Wert zurück, der früher zurückgegeben wurde – JustSomeNewbie