我试图找回我在同一记录中比较2个字段值的第一条记录,但是我得到了一个ArgumentException {" Unsupported where子句:(x.CharCount!= x.Body。长度)"}
有关如何纠正此问题的任何建议? 更新: 最终结果是获取第一条记录,其中charcount字段不等于body字段的长度。有没有办法用和查询,不需要使用lambda表达式?
post = collection.AsQueryable<Post>().First(x => x.CharCount != x.Body.Length);
这是类结构
class Post
{
public ObjectId Id { get; private set; }
public string Title { get; set; }
public string Body { get; set; }
public int CharCount { get; set; }
public IList<Comment> Comments { get; set; }
}
public class Comment
{
public DateTime TimePosted { get; set; }
public string Email { get; set; }
public string Body { get; set; }
}
答案 0 :(得分:1)
似乎在数据库端不支持string.length == int value。尝试从db获取值并编写您的查询,如下所示:
post = db.GetCollection<Post>().Linq().First(x => x.CharCount != x.Body.Length);