2017-01-15 7 views
-1

Ich habe ein Problem mit meiner Abfrage. In meiner Tabelle habe ich 2 Elemente mit Active gesetzt. Zum Testen versuche ich, nur falsche Elemente auszuwählen (die Liste sollte 0 Elemente zurückgeben), aber ich bekomme ständig 2 Elemente.EF bekommt keine korrekten Entitäten

Domain Klasse

public Guid OrderStatusId { get; set; } 
public string Name { get; set; } 
public bool Active { get; set; } 
public string Description { get; set; } 

SQL Elements

OrderStatusId = Guid.NewGuid(), Name = "xxx", Active = true, Description = "yyy" 
OrderStatusId = Guid.NewGuid(), Name = "zzz", Active = true, Description = "xxx" 

Entity wählen

public List<SlOrderStat> getDataFromSlOrderStat(string name, bool? activity) 
{ 
    activity = false; 

    using (var ctx = new ServisContex(conectionString)) 
    { 
     var list = ctx.SlOrdersStats;    

     if (name != string.Empty) 
      list.Where(l => l.Name != name); 

     if (activity != null) 
      list.Where(l => l.Active == activity); 

     return list.ToList(); 
    } 
} 

Was mache ich falsch?

Antwort

1

Sie benötigen

var result = list.Where(l => l.Name != name); 

list.Where (...) zu tun hat keinen Einfluss auf den Inhalt der Liste selbst.

+0

Wenn ich das verwende, kann ich den Typ 'System.Linq.IQueryable' nicht in 'System.Data.Entity.DbSet – Newer

+0

konvertieren oh, ich denke, die einfachste Lösung wäre, das Ergebnis einfach einer anderen Variablen zuzuordnen, I' Ich werde meine Antwort korrigieren. –

Verwandte Themen