Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列为空的条件为的Linq查询记录_C#_Linq - Fatal编程技术网

C# 列为空的条件为的Linq查询记录

C# 列为空的条件为的Linq查询记录,c#,linq,C#,Linq,我有一个参考表,其中包含要参考的值。我的主键是第一列,但我还将检查该键是否存在异常。我的桌子: StudentID ExceptionlalRecord Other Details --------- ------------------ ------------- Student1 null BlaBla Student2 null BlaBla Student1 123

我有一个参考表,其中包含要参考的值。我的主键是第一列,但我还将检查该键是否存在异常。我的桌子:

StudentID   ExceptionlalRecord  Other Details
---------   ------------------  -------------
Student1    null                BlaBla
Student2    null                BlaBla
Student1    123                 BlaBla  
该表没有主键(首先是数据库),在设计模型期间,我将StudentID和exceptionalRecord主键都设置为null,但列的属性中的值为false

我想做的是在正常的请求过程中获取没有异常记录的学生&如果提供返回学生有异常记录,这将为我提供不同的其他详细信息列数据

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数据库作为数据源和实体框架。有人能告诉我我做错了什么吗?

您使用的是实体框架吗?这完全取决于您使用的linq驱动程序和使用的db。您需要澄清这些是什么。是的,我提到我正在使用oracle DBMS,我也将添加EF,谢谢。如果您试图在未定义主键的情况下将表伪造到EF中,那么您将遇到问题。你真的应该首先修复数据库。是的,但我没有权限这样做,这也不可能,因为我不是唯一一个引用它的人。那么EF可能不适合你的目的。也许试试整洁?