简体   繁体   English

在实体框架中使用Linq执行动态查询

[英]Execute dynamic query with Linq in Entity Framework

I have: 我有:

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

How can I achieve the following (dynamically): 我如何(动态)实现以下目标:

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

For security reasons i cannot create a whole sql query and then execute it to server. 出于安全原因,我无法创建整个sql查询,然后将其执行到服务器。

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

Where(string predicate,params object[] values)

To use this first include the namespace 首先要使用此名称空间

using System.Linq.Dynamic;

then construct the predicate at run time 然后在运行时构造谓词

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

then query db.Orders 然后查询db.Orders

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM