0
SubSonic 3 버전의 활성 레코드 패턴을 사용하고 있습니다. 내 요구 사항은 테이블에서 3 임의의 행을 얻는 것입니다. 일부 인터넷 검색 후 나는 SQL에서 NewID 함수를 사용할 수 있지만 하위 음원을 사용하여 Randow 행을 가져올 수 없다는 것을 알게되었습니다.아음속 3을 사용하여 임의의 행 목록을 얻는 방법
SubSonic 3 버전의 활성 레코드 패턴을 사용하고 있습니다. 내 요구 사항은 테이블에서 3 임의의 행을 얻는 것입니다. 일부 인터넷 검색 후 나는 SQL에서 NewID 함수를 사용할 수 있지만 하위 음원을 사용하여 Randow 행을 가져올 수 없다는 것을 알게되었습니다.아음속 3을 사용하여 임의의 행 목록을 얻는 방법
아음속과 함께 항상 "백도어"가 있습니다. 그것은 InlineQuery (2.2 음속) 또는 CodingHorror라고 (음속 3) :
SELECT top 3
newid() as sortorder, id
FROM some_table
ORDER by sortorder
그래서 나는이
List<int> result = new CodingHorror(@"
SELECT TOP 3
id, newid() as sortorder
FROM some_table
ORDER by sortorder
).ExecuteTypedList<int>();
만약 같은 것을 제안
: http://subsonicproject.com/docs/CodingHorror귀하의 SQL 쿼리는 아마 다음과 같을 것 아음속 2.2에서 3으로 변경되지 않았습니다. ExcecuteTypedList() 메서드는 제네릭 형식 매개 변수로 valuetype과 함께 사용될 때 쿼리의 첫 번째 요소를 반환합니다. 이 경우 : id.
이도 작동 할 수 있습니다 :
List<Product> result = new CodingHorror(@"
SELECT TOP 3
*, newid() as sortorder
FROM products
ORDER by sortorder
).ExecuteTypedList<Product>();