【问题标题】:Lambda Expression selecting Max Numeric Value from a collection of AlphaNumeric Strings从 AlphaNumeric 字符串集合中选择最大数值的 Lambda 表达式
【发布时间】:2016-04-16 22:40:47
【问题描述】:

我有以下 SQL 查询,它从值以 MB 开头的 varchar 字段中选择最大整数值。

select max( cast(substring( sLicenseNo, 4, len(sLicenseNo)) as int)) as licno from ApplicationForm where sLicenseNo like 'MB%'

如何转换此 lambda 表达式以用于实体框架?

【问题讨论】:

    标签: entity-framework lambda


    【解决方案1】:

    试试这个

    TestDataContext db = new TestDataContext();
    var res = db.ApplicationForms.Where(y => y.sLicenseNo.Contains("MB")).Select(x => Convert.ToInt32(x.sLicenseNo.Substring(2))).Max();
    

    告诉我它是否有效。

    【讨论】:

    • 感谢您的及时回复,我收到此异常:“LINQ to Entities 无法识别方法 'Int64 ToInt64(System.String)' 方法,并且此方法无法转换为存储表达式。”有什么想法吗?
    • 只需在查询外通过循环结果进行转换并将每一行转换为int,然后您可以选择最大值。希望这会有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多