我想从字符串构建一个IQueryable查询(它来自一个表)。我想要IQueryable的原因是我想使用OrderBy,Take和Skip进行分页。我正在使用Entity Framework和DBContext,所以我查看了Entity SQL,但它看起来像是将查询限制在一个类中。
我想做的是:
string sql = GetQueryFromDatabase();
IQueryable q = PerformMagicToMakeStringIQueryable(sql);
q = q.OrderBy(somefield).Skip(5).Take(10);
从那里我很好,我知道如何找出查询中的字段并做我需要的。
想法?
感谢,
约翰
答案 0 :(得分:1)
你可以使用一种名为DynamicLinq的东西。
有很多不同的版本,因为MS发布了原版作为源代码,它被修改了数十万次:
以下是docs:
http://dynamiclinq.azurewebsites.net/
以下是其他人: