本文介绍了在实体框架中使用Linq执行动态查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有:

string table_name = "Orders";
string column_name = "Name";
string identity_column = "OrderID"
int identity_value = 5;

如何实现以下动态:

var result = (from order in db.Orders
              where order.OrderId== identity_value 
              select order).SingleOrDefault();

出于安全考虑,我无法创建一个完整的sql查询,然后将其执行到服务器。

For security reasons i cannot create a whole sql query and then execute it to server.

推荐答案

`System.Linq.Dynamic` library will help you generating dynamic query which has extension method

Where(string predicate,params object[] values)

包含命名空间

using System.Linq.Dynamic;

然后在运行时构造谓词

string predicate = "OrderId = @0";
int identity_value = 5;

然后查询db.Orders

then query db.Orders

db.Orders.AsQueryable().Where(predicate,identity_value);

这篇关于在实体框架中使用Linq执行动态查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 01:33