将IQueryable与Entity Framework一起使用时的空值

时间:2013-03-25 09:59:50

标签: linq entity-framework linq-to-entities

假设我有IQueryable变量:

var result= (from fruit in fruitTable 
                 join dapple in applesIQuery on fruit.fruitType equals dapple.fruitType into apples 
                 from apple in apples.DefaultIfEmpty()
                 select new foo );

applesIQuery来自另一个IQueryable,它由另一组连接组成。

applesIQuery =(from a in anotherTable select new {id = foo}) ;

我需要处理applesIQuery == null的情况,基本上创建一个id为0的1个元素的List,但不将IQueryable转换为IEnumerable。类似的东西:

applesIQuery =(from a in anotherTable select new {id = foo})?? Iqueriable {new {id=0}} ;

任何指向正确方向的指针?

1 个答案:

答案 0 :(得分:1)

applesIQuery的类型为IQueryable,不会为null。假设你的意思是如果查询没有返回任何结果,请尝试这样的事情:

applesIQuery = applesIQuery.Count() == 0 ? new ArrayList(){ new { id = 0 } }.AsQueryable() : applesIQuery;