jtable jquery排序和linq到sql
本文关键字:sql linq jquery 排序 jtable | 更新日期: 2023-09-27 18:14:35
编辑/解决方案
我所做的,我不认为是优雅的,是两个折叠:
1.使用内联sql查询对数据集进行排序
2.使用Linq添加起始索引(skip(和要显示的数据集数量(take(。
var testDetail = db.Database.SqlQuery<GroupMemberDTVM>("SELECT FirstName, LastName, GroupMemberEmail FROM GroupMember WHERE GroupCode = @p0 ORDER BY " + jtSorting + "", _sid);
var testOutput = (from c in testDetail
select c).Skip(jtStartIndex).Take(jtPageSize);
使用jtable(jquery(,排序参数是一个字符串。如何将参数集成到Linq
参数"LastName ASC"。如何将其转换为g.LastName ASC?谢谢
IEnumerable<GroupMemberDTVM> groupMembers =
(from g in db.groupMember
where g.GroupCode == _sid
orderby ?????
select new GroupMemberDTVM
{
FirstName = g.FirstName,
LastName = g.LastName,
GroupMemberEmail = g.GroupMemberEmail
}).Distinct().Skip(jtStartIndex).Take(jtPageSize).AsEnumerable();
我推荐方法语法,因为它更灵活,(imo(更容易阅读。其他改进,使用var关键字,您不需要AsEnumerable
。试试这个:
var groupMembers = db.groupMember
.Where(g => g.GroupCode == _sid)
.OrderBy(g => g.LastName)
.Select(g => new GroupMemberDTVM(){
FirstName = g.FirstName,
LastName = g.LastName,
GroupMemberEmail = g.GroupMemberEmail,
})
.Distinct()
.Skip(jtStartIndex)
.Take(jtPageSize);
此外,我对查询语法并不太熟悉,但我认为您只需要说g.LastName
在哪里????s是