2014-10-01 59 views

回答

0

我認爲最小值意味着這實際上是一個以字符串形式存儲的數字。您應該通過將其存儲爲int(或其它任何數字類型)來解決該問題。

,直到你固定的類型的問題,您可以使用例如int.Parsedecimal.Parse

Tb_AgentRates objrates = db.Tb_AgentRates 
    .Where(z => z.AgentId == objcity) 
    .Min(z => decimal.Parse(z.Rates)); 
+0

顯示錯誤不能將double轉換爲tb_agents List – user4066499 2014-10-01 11:08:32

0

你不能直接在LINQ表達式本身解析。相反,你可以使用這樣

var query = (from row in db.Tb_AgentRates.AsEnumerable() 
        where row.AgentId== objcity 
        let range = ParseInt32(row.Rates) 
        select range).ToList(); 
     var minValue = query.Min(); 

,你宣佈你的方法是這樣

public static int? ParseInt32(string str) 
    { 
     int result = 0; 
     return Int32.Parse(str); 
    }