If your file names contains only numeric values then try this-
var files = Directory.GetFiles(@"" + mappath + "", "*.sql").OrderBy(n => Convert.ToInt16(Path.GetFileNameWithoutExtension(n)));
Else you can write a function based on the logic shared here
http://stackoverflow.com/a/5093939/1006297[
^]
var files = Directory.GetFiles(@"" + mappath + "", "*.sql").OrderBy(n => PadNumericPortion(n));
Hope, it helps :)