2012-01-06 52 views

回答

1

如果您不使用SQL查詢作爲字符串,這將僅適用於客戶端。

例如(我只是做了一些字段):

(from c in db.Customers 
select c).ToList() //ToList executes the query 
     .OrderBy(c => c.CreditLimit.ToString()) 
     .OrderBy(c => double.Parse(c.CustomerId)) 
     //etc 

更新:看來你需要做的服務器端:

context.ExecuteQuery(typeof(TestTable1), "SELECT * FROM 
TestTable1 ORDER BY CAST(Text1 as bigint)"); 

使用一個SQL查詢來獲取你的因爲Linq-to-SQL不支持你的需求。

+0

錯誤:方法'Double Parse(System.String)'沒有支持的SQL轉換。 – Yacov 2012-01-06 09:15:27

+1

這就是爲什麼你要先做ToList! – Bas 2012-01-06 09:15:58

+0

我不想獲得完整列表 - 它非常大 - 我希望在數據庫引擎中進行投射(在查詢結束時,我只需要40行) – Yacov 2012-01-06 09:18:10