У меня есть запрос
SELECT *
FROM [ExcelDumps].[dbo].[ProductPrice] As p
Where
(
p.[EndDate] >= '2018-12-18'
OR
p.[EndDate] is null
)
order by case when p.[EndDate] is null then 2 else 1 end, p.[EndDate] asc
что я пытаюсь достичь, это то, что можно достичь тех же результатов, используя Entity Framework, где приоритет наконец отдается p. [EndDate]
желаемый результат выглядит следующим образом:
что я сделал
using (var cod = new ExcelDumpsEntities1())
{
var list = cod.ProductPrices.Where(c => c.EndDate >= c.EndDate || c.EndDate == null)
.OrderBy(c => c.EndDate)
.FirstOrDefault();
var sqlQuery = @"SELECT Top 1 *
FROM [ExcelDumps].[dbo].[ProductPrice] As p
Where
(
p.[EndDate] >= '2018-12-18'
OR
p.[EndDate] is null
)
order by case when p.[EndDate] is null then 2 else 1 end, p.[EndDate] asc ";
var sqlRaw = cod.ProductPrices.SqlQuery(sqlQuery)
.FirstOrDefault();
}
Console.ReadLine();
Я не хочу использовать SQL-запрос или хранимую процедуру, но должен делать это подобно LINQ для сущностей
этот вопрос основан на этом вопросе на dba sql запрос здесь
Как я могу это сделать в Entity Framework