2

どうすればいいですか

SELECT  CEILING(COUNT(*) / 10) NumberOfPages
 FROM  MyTable

Linq to SQL で?

4

3 に答える 3

1

Math クラスや String クラスのほとんどのメソッドなど、多くの .NET メソッドが SQL Server 関数に変換されます。ただし、いくつかの注意点があります。

SqlMethods クラスも参照してください。.NETに相当するものがない追加の SQL Server 関数が公開されています。

しかし、あなたのケースではそれさえ必要ありません:

int numberOfPages;

using (var db = new MyDBDataContext())
{
   numberOfPages = (int)Math.Ceiling(db.Books.Count() / 10.0);
}
于 2010-04-28T09:11:39.433 に答える
0

SQL CEILING を使用しないでください。LINQ クエリで .NET 天井 (Math.Ceiling) を使用します。

于 2010-04-28T07:58:13.813 に答える
0

これは不可能だと思います。可能な解決策は、合計数を取得してから、.NET コードで把握することです。以下のように:

query は IQueryable です

  var itemsPerPage = 10; 
  var currentPage = 0; 
  var totalResults = query.Count(); 
  var myPagedResults = query.Skip(currentPage).Take(itemsPerPage);
  var totalPages = (int)Math.Ceiling((double)totalResults / (double)pageSize);
于 2010-04-28T07:59:17.800 に答える