У меня есть таблица с именем FILTRE_LINKLER
и имена столбцов
- ID
- SEF_URL
- УСЛОВИЯ
Например,
- ID = 1
- SEF_URL = "test /"
- УСЛОВИЯ = "СТОК> 50" '
Я хочу получить условие CONDITIONS в предложение linq where.
var product = (from d in db.PRODUCTS
where *CONDITIONS from DB*
select new ProductModel
{
Description= d.DESCRIPTION,
Brand= d.BRANDS.BRAND,
SefUrl = sef_url,
Name= d.NAME,
});
Я пытаюсь это:
var query = db.FILTRE_LINKLER.Select(x => x.CONDITIONS);
var product = (from d in db.PRODUCTS
where query
select new ProductModel
{
Description= d.DESCRIPTION,
Brand= d.BRANDS.BRAND,
SefUrl = sef_url,
Name= d.NAME,
});
Но у меня есть ошибка, которая не может неявно преобразовать тип 'System.Linq.IQueryable' в bool.
Я редактировал, потому что "Проблема решена".
Для решения:
Скачать Install-Package System.Linq.Dynamic -Version 1.0.7 (сказал мне @StepUp)
затем добавьте в класс
using System.Linq.Dynamic;
затем следующий код:
var whereCondition = db.FILTRE_LINKLER.Select(x => x.CONDITIONS).FirstOrDefault();
var product = (from d in db.PRODUCTS
where query
select new ProductModel
{
Description= d.DESCRIPTION,
Brand= d.BRANDS.BRAND,
SefUrl = sef_url,
Name= d.NAME,
}).Where(whereCondition);