我有这段代码从数据库中获取所有baobjectCode。
var maxCode = variables.Where(w => w.code.StartsWith(prefix) && w.code.Length == length)
.OrderByDescending(o => o.code).Select(s => s.code).FirstOrDefault();
}
我在这个maxcode查询中遇到了构建错误。
错误8'string'不包含'code'的定义,并且没有可以找到接受类型'string'的第一个参数的扩展方法'code'(你是否缺少using指令或汇编引用?)<登记/> 任何人都可以帮我解决为什么我会收到此错误?我在这里做错了吗?
答案 0 :(得分:2)
您在第一个语句中选择BaObject.BaObjectCode
列表,因此variables
是字符串类型
.Select(w => w.BaObjectCode).ToList();
你应该做
var maxCode = variables.Where(w => w.StartsWith(prefix) && w.Length == length)
.OrderByDescending(o => o).FirstOrDefault();
在你的上一个声明中。根本不需要选择,您可以将其删除
答案 1 :(得分:1)
添加
.OrderByDescending()
在.ToList()之前的第一行,然后用:
替换最后一行var maxCode = variables.FirstOrDefault(w => w.StartsWith(prefix) && w.Length == length);
这应该有效。