Значение LINQ to SQL МЕЖДУ двумя двойными значениями - PullRequest
15 голосов
/ 12 сентября 2009

Я использую LINQ to SQL для запроса к моей базе данных, у меня есть запрос, очень похожий на этот:

var result = from db.MyTable.Where(d => (double)d.Price >= minValue)

Мне нужно, чтобы предложение where содержало d.Proce >= minValue и d.Price =< maxValue (как предложение T-SQL BETWEEN).

Как я могу это сделать?

Ответы [ 2 ]

23 голосов
/ 12 сентября 2009

Как насчет этого:

var result = from db.MyTable.Where(d => (double)d.Price >= minValue 
                                         && (double)d.Price <= maxValue)
7 голосов
/ 12 сентября 2009

Просто для полноты; если вы строите запрос на основе различных входных данных, вы можете составить его с помощью последовательных вызовов Where:

IQueryable<SomeType> query = db.MyTable;
if(minValue != null) // a Nullable<double>
{
    var actualMin = minValue.Value;
    query = query.Where(d => (double) d.Price >= actualMin);
}
if(maxValue != null) // a Nullable<double>
{
    var actualMax = maxValue.Value;
    query = query.Where(d => (double) d.Price <= actualMax);
}
// keep working with "query", for example, query.ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...