どうすればいいですか
SELECT CEILING(COUNT(*) / 10) NumberOfPages
FROM MyTable
Linq to SQL で?
どうすればいいですか
SELECT CEILING(COUNT(*) / 10) NumberOfPages
FROM MyTable
Linq to SQL で?
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);
}
SQL CEILING を使用しないでください。LINQ クエリで .NET 天井 (Math.Ceiling) を使用します。
これは不可能だと思います。可能な解決策は、合計数を取得してから、.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);