C# LINQ到SQL作为参数传递对象
要使用LINQ To 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
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);