在列表< T>中排序外键为null时使用Lambda Expression [英] Order By in List<T> with Lambda Expression when foreign key is null
本文介绍了在列表< T>中排序外键为null时使用Lambda Expression的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是我的查询:
List<db_table> listData = db.db_table.Take(50).ToList();
现在,我希望将此列表作为排序列表.为此,我尝试了:
Now I want this list as sorted list. For that I tried:
listData = db.db_table.OrderBy(x => x.db_table1.column_name).ToList();
那时我的列也包含'null'.
My column contains 'null' also at that time it throws an error.
考虑db_table具有从db_table1分配的外键
Consider that db_table has foreign key assigned from db_table1
推荐答案
You can extend your lambda expression or using c# 6 features:
// 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();
这篇关于在列表< T>中排序外键为null时使用Lambda Expression的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文