Может ли кто-нибудь объяснить мне, что произойдет, когда я выполню этот запрос
Я использую (читай обучение) ninject и у меня следующий код
public interface IProducts
{
IQueryable<Product> Products { get; }
//some functions
}
У меня есть следующий класс "Product", который реализует интерфейс IProducts
public class Product
{
public string Name { get; set; }
public string Price { get; set; }
public IQueryable<Product> Products
{
get
{
using(/*Connect to dtabase*/)
{
var products = from p in db.Products
select p;
}
}
}
}
Теперь я добавил
ninjectKernel.Bind<IProducts>().To<Product>();
Интересно, что произойдет, если я добавлю еще один запрос Linq, такой как where product.Name == Something
Например
public class ProductController : Controller
{
private IProducs repository;
public ProductController(IProducts products)
{
repository = products;
}
public ViewResult Find(string productName)
{
var product = from p in repository
where p.Name == productName
select p;
}
}
Насколько я знаю, запрос Linq будет выполняться только при циклическом переносе данных, поэтому мне интересно, объединятся ли эти два запроса Linq в один.
Например
from p in db.Products
where p.Name == Something
select p;
Может ли кто-нибудь подтвердить меня, если я правильно понял