Как избавиться от дубликата в asp. net mvc? - PullRequest
0 голосов
/ 20 апреля 2020

Как избавиться от дубликатов и отобразить записи, используя jQuery dataTables в asp. net mvc.

public ActionResult FilterData()
{
    var results = db.Cbps.Where(a => a.SDATE == a.SDATE);
    List<string> filterdDate = new List<string>();

    foreach (var item in results)
    {             
        filterdDate.Add(item.SDATE);
    }

    var obj = new { data = filterdDate };

    //var da = obj;
    return Json(obj, JsonRequestBehavior.AllowGet);
}

<script>
    $(document).ready(function () {
        $('#abc').DataTable({

            "ajax": {
                "url": "/Filter/FilterData",
                "type": "GET",
                "datatype": "json"
            },
            "columns": [

                { "data": "SDATE", "autoWidth": true }
            ]
        });
    });
</script>

Результаты с дубликатом

2020-04-18
2020-04-18
2020-04-18
2020-04-18
2020-04-17
2020-04- 17
2020-04-17
2020-04-17

без дубликатов

2020-04-18
2020-04-17

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Вы можете обновить свой код, сделав следующее:

var filteredDate = db.Cbps.Where(a => a.SDATE == a.SDATE).Select(c => c.SDATE).Distinct();

var obj = new { data = filterdDate };

return Json(obj, JsonRequestBehavior.AllowGet);

Метод расширения LINQ Distinct () вернет уникальные данные.

0 голосов
/ 20 апреля 2020

Вы можете использовать HashSet для удаления дубликатов

var filterdDate = new HashSet<string>(results);

var obj = new { data = filterdDate };

 return Json(obj, JsonRequestBehavior.AllowGet);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...