2010-04-28 12 views

Répondre

1

De nombreuses méthodes .NET sont converties en fonctions SQL Server, comme la plupart des méthodes de la classe Math et la classe String. Mais il y a some caveats.

Jetez également un coup d'oeil au SqlMethods class, qui expose la fonction SQL Server supplémentaire qui n'a pas d'équivalent .NET.

Mais vous ne même pas besoin de tout cela dans votre cas:

int numberOfPages; 

using (var db = new MyDBDataContext()) 
{ 
    numberOfPages = (int)Math.Ceiling(db.Books.Count()/10.0); 
} 
0

Vous n'utilisez pas SQL CEILING, vous utilisez .NET plafond (Math.Ceiling) dans votre requête LINQ.

0

Je ne pense pas que ce soit possible. Une solution possible serait d'obtenir le nombre total et ensuite le comprendre en code .NET. comme ci-dessous:

où la requête est 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);