首页 > 解决方案 > 具有列为空的条件的 Linq 查询记录

问题描述

我有一个参考表,其中包含要参考的值。我的主键是第一列,但我也会检查该键是否有例外。我的表:

StudentID   ExceptionlalRecord  Other Details
---------   ------------------  -------------
Student1    null                BlaBla
Student2    null                BlaBla
Student1    123                 BlaBla  

该表没有主键(数据库优先),在设计模型期间,我创建了 StudentID 和 ExceptionlalRecord 主键,但在列的属性中可以为空。

我想做的是在正常请求期间让没有特殊记录的学生获得,如果提供返回学生的特殊记录,这将为我提供不同的“其他详细信息”列数据。

QueryStudentId=ProvidedByRequest;
QueryExceptionalRecord=ProvidedByRequest;

if(db.StudentTable.where(x=> x.StudentId == QueryStudentId && x.ExceptionlalRecord ==QueryExceptionalRecord ).Count() > 0)
    retrun db.StudentTable.where(x=> x.StudentId == QueryStudentId && x.ExceptionlalRecord == QueryExceptionalRecord);
else 
    return db.StudentTable.where(x=> x.StudentId == QueryStudentId && x.ExceptionlalRecord == null);  

else 部分不返回任何数据,我在我的解决方案中使用 Oracle 数据库作为数据源和实体框架。谁能指出我做错了什么?

标签: c#linq

解决方案


推荐阅读