得分。列表中的值,其中列名称为字符串

时间:2014-10-01 10:05:11

标签: asp.net asp.net-mvc entity-framework

 Tb_AgentRates objrates = db.Tb_AgentRates.Where(z => z.AgentId == objcity).OrderBy(z => z.Rates).Min();

我想要分钟。利率的价值。但问题是Rate Column varchar这就是为什么它没有显示结果。

2 个答案:

答案 0 :(得分:0)

我假设Min-Value意味着这实际上是一个存储为字符串的数字。您应该通过将其存储为int(或任何数字类型)来解决此问题。

在您修复了可以使用的类型问题之前,例如int.Parsedecimal.Parse

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

答案 1 :(得分: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);
    }