Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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到SQL作为参数传递对象_C#_Sql_Asp.net_Linq To Sql - Fatal编程技术网

C# LINQ到SQL作为参数传递对象

C# LINQ到SQL作为参数传递对象,c#,sql,asp.net,linq-to-sql,C#,Sql,Asp.net,Linq To Sql,要使用LINQ To SQL选择某些内容,我们通常会这样做: DataClassesDataContext context = new DataClassesDataContext(); var value = from employee in context.Employees orderby employee.Salary descending

要使用LINQ To SQL选择某些内容,我们通常会这样做:

        DataClassesDataContext context = new DataClassesDataContext();
        var value = from employee in context.Employees
                               orderby employee.Salary descending
                               select employee;
如果我有like 30 table,我想在一个方法中写一次,并且只向函数传递参数以调用如下表:

    public void select_function(Parameter1,Parameter2)
{
    DataClassesDataContext context = new DataClassesDataContext();
    var value = from Parameter1 in context.Parameter2
                               orderby Parameter1.Salary descending
                               select Parameter1;
}
这可能吗?

您可以使用LINQ到SQL数据上下文对象的通用方法。并传递一个表达式进行排序:

public void select_function<T, TProperty>(Expression<Func<T, TProperty>> orderBy)
    where T : class
{
    DataClassesDataContext context = new DataClassesDataContext();
    var value = context.GetTable<T>().OrderByDescending(orderBy);
}
尽管你能做到

var value = context.GetTable<Employee>().OrderByDescending(e => e.Salary);
var value=context.GetTable().OrderByDescending(e=>e.Salary);
没有创建任何方法

var value = context.GetTable<Employee>().OrderByDescending(e => e.Salary);