Как я могу получить случайную строку, полученную с SQL Server, используя ASP.NET MVC

#asp.net-mvc #asp.net-core #asp.net-mvc-4

#asp.net-mvc #asp.net-ядро #asp.net-mvc-4

Вопрос:

Я хочу случайным образом получать данные с SQL Server и представлять их в представлении. Я могу получить данные, используя OrderBy(Guid.NewGuid()) .

Но я не хочу, чтобы пользователь перезагружался и переходил к другой записи, не предпринимая никаких действий с предыдущей записью, которая была открыта для просмотра. Вот метод действия, который я создал.

 public ActionResult Feedback()
{
        var mostRecentMonday = DateTime.Now.AddDays(-7).StartOfWeek(DayOfWeek.Monday);

        var weekEnd = mostRecentMonday.AddDays(7).AddSeconds(-1); //will return the end of the day on Sunday
        //int id;

        using (Db db = new Db())
        {
            var uName = User.Identity.Name;               
            //int total = db.Chats.Where(x => x.ChatCreateDateTime >= mostRecentMonday amp;amp; x.ChatCreateDateTime <= weekEnd amp;amp; x.Feedback == null).ToArray().ToList().Count();

            var result = db.Chats.Where(x => x.ChatCreateDateTime >= mostRecentMonday amp;amp; x.ChatCreateDateTime <= weekEnd amp;amp; x.Feedback == null amp;amp; x.Username != uName).OrderBy(x => Guid.NewGuid()).FirstOrDefault();
            result.Scenarios = new SelectList(db.Scenarios.ToList(), "ScenarioId", "ScenarioList");

            return View(result);                      
        }
}
 

Заранее благодарю вас

Комментарии:

1. I do not want the user to reload and get to another record without taking any action on the previous record which was open in view. Можете ли вы уточнить больше о требовании?

2. Приведенный выше код возвращает введенный чат, который открывается в форме. Форма должна быть заполнена аудитором, но обновление формы повторно генерирует другой чат из БД. Итак, я хочу, чтобы, если аудитор обновляет форму, он не должен обходить, если аудитор не отправляет форму