我想编写一个查询,它应该获取用户对象和用户已经发布的消息量。我通过以下方式做到了这一点:
var query = (from u in _db.Repository<User>()
where u.IsDeleted != true
select new UserWithMessagecount()
{
User = u
MessageCount = GetUserMessageCount(u.Documents).Count(),
});
我正在使用一种方法,因为一些消息应该被过滤掉(以动态方式)。
为了简单起见,我将发布没有排序逻辑的函数(它仍然会产生相同的错误)。
private EntitySet<Document> GetUserMessageCount(EntitySet<Document> set)
{
return set;
}
返回的错误是:
方法“x”没有支持的 SQL 转换。
关于如何解决这个问题有什么想法吗?
最佳答案
改用这个语法:
var query = (from u in _db.Repository<User>()
let MessageCount = GetUserMessageCount(u.Documents).Count()
where u.IsDeleted != true
select new UserWithMessagecount()
{
User = u,
MessageCount = MessageCount
});
关于c# - 方法 x 没有支持的 SQL 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5309338/