我正在寻找一种从字符串构建IQueryable查询的方法

时间:2015-05-13 00:36:37

标签: entity-framework iqueryable

我想从字符串构建一个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);

从那里我很好,我知道如何找出查询中的字段并做我需要的。

想法?

感谢,

约翰

1 个答案:

答案 0 :(得分:1)

你可以使用一种名为DynamicLinq的东西。

有很多不同的版本,因为MS发布了原版作为源代码,它被修改了数十万次:

以下是docs:

http://dynamiclinq.azurewebsites.net/

以下是其他人:

https://www.nuget.org/packages?q=dynamic+linq