Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何定义匿名方法类型以使用LINQ构建动态查询?_C#_Multithreading_Linq_Generics_Linq To Sql - Fatal编程技术网

C# 如何定义匿名方法类型以使用LINQ构建动态查询?

C# 如何定义匿名方法类型以使用LINQ构建动态查询?,c#,multithreading,linq,generics,linq-to-sql,C#,Multithreading,Linq,Generics,Linq To Sql,我正忙于一个LINQtoSQL项目,该项目基本上为数据库中的每种实体类型创建多个线程,它不断地从线程中的DB查询信息 下面是一个伪示例: streamer.DefineDataExpression<Contacts>(x => x.FirstName == "Bob"); while(true) { List<Contacts> MyContactsResult = streamer.ResultList; // do whatever with

我正忙于一个LINQtoSQL项目,该项目基本上为数据库中的每种实体类型创建多个线程,它不断地从线程中的DB查询信息

下面是一个伪示例:

streamer.DefineDataExpression<Contacts>(x => x.FirstName == "Bob");
while(true)
{
     List<Contacts> MyContactsResult = streamer.ResultList;
     // do whatever with MyContactsResult
}
streamer.DefineDataExpression(x=>x.FirstName==“Bob”);
while(true)
{
列出MyContactsResult=streamer.ResultList;
//用MyContactsResult做任何事
}
上面的代码不存在,但这是我到目前为止为“拖缆”类所做的(它显然不起作用,但您可以看到我在上面试图实现的目标):

public void defineeexpression(System.Linq.Expressions.Expression)
{
使用(var db=new LINQDataContext())
{
ResultList=db.GetTable().Where(表达式);
}
}
如何创建一个类似“DefineExpression”的方法,使我能够动态查询LINQ类型?

为什么不使用。我认为这将为您提供所需的一切,因为您可以将查询定义为字符串。因此,您可以更轻松地构建查询的字符串表示形式,并动态执行

public void DefineExpression(System.Linq.Expressions.Expression<System.Func<T, bool>> expression)
{
    using (var db = new LINQDataContext())
    {
        ResultList = db.GetTable<T>().Where(expression);
    }
}