Was ist der Unterschied zwischen IEnumerable<T> und IQueryable<T> in C# und wann verwendet man was?
Hallo Kollegen! Ich bin neu in C# und arbeite mit Entity Framework. Ich bin ständig verwirrt, wann ich IEnumerable und wann IQueryable zurückgeben soll.
Hier habe ich eine Methode im Repository:
```csharp
public IEnumerable GetProductsByCategory(int categoryId)
{
return _context.Products.Where(p => p.CategoryId == categoryId).ToList();
}
```
Aber ein anderer Entwickler sagte, dass es besser sei, IQueryable zu verwenden. Ich habe es umgeschrieben:
```csharp
public IQueryable GetProductsByCategory(int categoryId)
{
return _context.Products.Where(p => p.CategoryId == categoryId);
}
```
Jetzt habe ich einen Service, der diese Methode aufruft und dann filtert:
```csharp
var cheapProducts = repo.GetProductsByCategory(1).Where(p => p.Price < 100).ToList();
```
Im ersten Fall (mit I