ASP.NET MVC- 모델에서 임의의 레코드를 얻는 방법은 무엇입니까?
-
08-07-2019 - |
문제
쉬운 방법이 있는지 모르겠지만 기본적으로 내가하고 싶은 것은 다음과 같습니다.
var highlights = db.Banners.Where(h => h.Category == "highlight").ToList().GetRange(0,4);
하이라이트가있는이 모델 배너가 있지만 매번 4 개의 임의의 하이라이트를 다른 순서로 검색하고 싶습니다.
따라서 내가 사용하는 코드는 [0..4] 하이라이트에서 범위를 검색하고 4 미만의 경우 오류를 반환하고 무작위 화되지 않습니다.
어떻게 쉽게 할 수 있습니까?
내가 원하는 결과는 a입니다 목록<
배너>
보기에 전달하지만 매번 다른 순서로 다음과 같은 순서로 전달합니다.
[1,3,4,2] || [2,1,4,3] || [12,32,15,3]
나는 그게 다인 것 같아요 :)
정말 감사합니다
해결책
여기 CodeProject에서 임의의 LINQ 샘플링의 예입니다
다른 팁
배너를 무작위 화하고 처음 4 이하를 얻으려면 다음을 수행 할 수 있습니다.
Random r = new Random(DateTime.Now.Ticks);
var highlights = db.Banners.Where(h => h.Category == "highlight").
OrderBy(h => r.Next()).Take(4)
제휴하지 않습니다 StackOverflow