Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Случайная строка из базы данных SQL Server с использованием DLINQ

Автор вопроса: CommunityОтветов: 1

Мне нужно получить случайные строки из базы данных SQL Server. Я ищу способ добиться этого с помощью запроса LINQ. Является ли это возможным?

SQL-запрос: ВЫБРАТЬ [Id] ИЗ [MyTable] ЗАКАЗАТЬ ПО NEWID ()

Каков эквивалентный запрос LINQ для указанного выше SQL?

Заранее спасибо.

sql-serverlinq-to-sql

Ответы

Ответ 1 · рейтинг 1 · Craig Quillen

Сделайте партиал для вашего класса контекста данных и вставьте следующий метод:

partial class MyDataContext {
    [Function(Name = "NEWID", IsComposable = true)]
    public Guid Random()
    {
        return Guid.NewGuid();
    }
}

Теперь вы можете скомпоновать это в свой запрос, и он будет преобразован в вызовы функции sql newid () следующим образом:

from x in dc.MyEntities orderby dc.Random() select x.Id

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы