Middle
IQueryable arayüzü nesnesi döndüren bir kod örneği sağlayın.
sobes.tech yapay zeka
AI'dan gelen yanıt
using System;
using System.Linq;
using System.Collections.Generic;
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
public class ProductRepository
{
private List<Product> _products = new List<Product>
{
new Product { Id = 1, Name = "Laptop", Price = 1200.00m },
new Product { Id = 2, Name = "Keyboard", Price = 75.00m },
new Product { Id = 3, Name = "Mouse", Price = 25.00m }
};
// Metod, IQueryable<Product> döndürür, böylece sorgunun yürütülmesini erteleyebilirsiniz.
public IQueryable<Product> GetQueryableProducts()
{
return _products.AsQueryable(); // AsQueryable() IEnumerable'i IQueryable'a dönüştürür
}
}
public class Program
{
public static void Main(string[] args)
{
var repository = new ProductRepository();
// IQueryable<Product> alın
IQueryable<Product> query = repository.GetQueryableProducts();
// IQueryable'ye filtreleme koşulu ekleyin.
// Sorgu bu noktada henüz yürütülmüyor.
IQueryable<Product> filteredQuery = query.Where(p => p.Price > 100.00m);
// Sorgu, materyalize edildiğinde (örneğin, ToList() çağrıldığında) yürütülür.
// Burada, veri kaynağına (bu durumda _products) sorgu gönderilir.
List<Product> expensiveProducts = filteredQuery.ToList();
Console.WriteLine("Fiyatı > $100 olan pahalı ürünler:");
foreach (var product in expensiveProducts)
{
Console.WriteLine($"- {product.Name} (${product.Price})");
}
Console.ReadKey();
}
}