Я использую LINQ в модели данных, сгенерированных Telerik OpenAccess, для настройки поискового запроса и получения результатов.Все это работает очень хорошо, и код выглядит очень хорошо.Но теперь мне нужно добавить еще одну вещь, и я не уверен, как это сделать.Продукты, которые я выбираю, должны иметь разные цены для каждого покупателя.Цена зависит от некоторых других значений в 2 других таблицах SQL.Сейчас у меня есть расчет цены в скалярной функции SQL, но я не уверен, как использовать это в сочетании с моим LINQ.
Моя цель состоит в том, чтобы получить все данные за одну поездку в одну базу данных, а также выполнить сортировку по этому столбцу рассчитанной цены.
Сейчас у меня есть что-то вроде:
var products = (from p in Products select p);
if(searchOption)
products = products.Where(product => product.Name.Contains(searchOption));
products = products.OrderByDescending(product => product.Name);
products = products.Skip(pageNr * pageSize).Take(pageSize);
Я, конечно, могу использовать все свойства своего класса Product, но я хочу иметь возможность использовать новое виртуальное / вычисляемое свойствоПозвольте сказать: Product.CalculatedPrice, а также.
У меня такое ощущение, что это должно выглядеть примерно так.
(from p in Products
select new {
productId = p.ProductId,
name = p.Name,
calculatedPrice = CalculatedValueFromStoredProcedure/OrScalarFunction(p.ProductId, loggedInCustomerId)
});
С наилучшими пожеланиями, Тыс