Avatar ·

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