Linq to sql LINQ到SQL动态排序问题
如何在我的LINQ数据中编写Select子句来选择列别名,以便对其进行排序基本上我想在LINQ中完成此SQL语句:Linq to sql LINQ到SQL动态排序问题,linq-to-sql,dynamic,sorting,Linq To Sql,Dynamic,Sorting,如何在我的LINQ数据中编写Select子句来选择列别名,以便对其进行排序基本上我想在LINQ中完成此SQL语句: select type_id as id, type_desc as description from dbo.equip_type_avt order by description 我应该用什么替换LINQ语句中.Select子句中的? public IQueryable<equip_type_avt> GetGri
select
type_id as id,
type_desc as description
from
dbo.equip_type_avt
order by
description
我应该用什么替换LINQ语句中.Select子句中的?
public IQueryable<equip_type_avt> GetGridEquipmentTypes(string sidx, string sord)
{
try
{
return
ulsDB.equip_type_avts
.Select(?????)
.OrderBy(sidx + " " + sord);
}
catch (Exception ex)
{
string strErr = ex.Message;
return null;
}
}
public IQueryable GetGridEquipmentTypes(字符串sidx、字符串sord)
{
尝试
{
返回
ulsDB.Equipment\u类型\u avts
.选择(???)
.OrderBy(sidx+“”+sord);
}
捕获(例外情况除外)
{
字符串strErr=例如消息;
返回null;
}
}
我不确定我是否理解您的问题,sidx和sord与您的查询有何关联
您的问题不是必须以OrderBy(…)结束查询吗?然后是by(…)而不是组合OrderBy?我不确定我是否理解您的问题,sidx和sord与您的查询有什么关系
您的问题不是必须以OrderBy(…)结束查询吗?然后是by(…)而不是组合的OrderBy?如果您想以简单的方式按字符串排序,请下载该库 然而,这是2000行代码,其中大部分是完全冗余的,仅用于排序 自己动手应该不太难,但需要对表达式树有一定的了解。不过我真的帮不了你
编辑:我添加了另一个答案,希望能回答您的实际问题:)如果您想以简单的方式按字符串排序,请下载该库 然而,这是2000行代码,其中大部分是完全冗余的,仅用于排序 自己动手应该不太难,但需要对表达式树有一定的了解。不过我真的帮不了你
编辑:我添加了另一个答案,希望能回答您的实际问题:)您可以使用匿名类型:
table.Select(x => new
{
ID = x.type_id,
Description = x.type_desc
});
但是,在声明匿名类型的作用域之外,您无法访问该匿名类型的属性(无论如何,没有反射或其他恶意攻击),因此如果要在该函数之外使用结果,您只需创建一个类,并在查询中使用类型初始值设定项创建该类的实例:
public class Foobar
{
public int ID { get; set; }
public string Description { get; set; }
}
...
table.Select(x => new Foobar() // Note the difference here
{
ID = x.type_id,
Description = x.type_desc
});
问题:如果您想以不同的方式命名列,为什么不在声明列属性映射的位置更改它?在LINQtoSQL中,可以随意命名数据库列,但要给属性命名为“ID”或“Description” 您可以使用匿名类型:
table.Select(x => new
{
ID = x.type_id,
Description = x.type_desc
});
但是,在声明匿名类型的作用域之外,您无法访问该匿名类型的属性(无论如何,没有反射或其他恶意攻击),因此如果要在该函数之外使用结果,您只需创建一个类,并在查询中使用类型初始值设定项创建该类的实例:
public class Foobar
{
public int ID { get; set; }
public string Description { get; set; }
}
...
table.Select(x => new Foobar() // Note the difference here
{
ID = x.type_id,
Description = x.type_desc
});
问题:如果您想以不同的方式命名列,为什么不在声明列属性映射的位置更改它?在LINQtoSQL中,可以随意命名数据库列,但要给属性命名为“ID”或“Description” 我应该更清楚地重新问我的问题。我已经有分拣工作了。我想以“ID”和“Description”的列名返回结果,而不是实际的列名“type\u ID”和“type\u desc”。在SQL语句中使用as子句很容易。我如何使用Select操作符完成同样的事情。我应该更清楚地重新问我的问题。我已经有分拣工作了。我想以“ID”和“Description”的列名返回结果,而不是实际的列名“type\u ID”和“type\u desc”。在SQL语句中使用as子句很容易。如何使用Select运算符完成相同的操作。请参阅对朱利安的评论。请参阅对朱利安的评论。谢谢。实际上,我想使用我的函数作为aThanks。实际上我想把我的函数用作