以下是我的查询:
List<db_table> listData = db.db_table.Take(50).ToList();
Run Code Online (Sandbox Code Playgroud)
现在我希望这个列表作为排序列表.为此,我试过:
listData = db.db_table.OrderBy(x => x.db_table1.column_name).ToList();
Run Code Online (Sandbox Code Playgroud)
我的列也包含'null',那时它会抛出一个错误.
请考虑db_table具有从db_table1分配的外键
您可以扩展lambda表达式或使用c#6功能:
// use c# 6.0 ?. operator
listData = db.db_table
.OrderBy(x => x.db_table1?.column_name)
.ToList();
// check value manually
listData = db.db_table
.OrderBy(x => x.db_table1 != null ? x.db_table1.column_name : string.Empty)
.ToList();
// filter null values before sorting
listData = db.db_table
.Where(x => x.db_table1 != null)
.OrderBy(x => x.db_table1.column_name)
.ToList();
Run Code Online (Sandbox Code Playgroud)