我想从输入(AssessmentName_In_GetAssessmentNo)中获得一个列(assessmentd)。如果我"选择a.d",我的代码就可以工作,但是我想获得的是assessmentd。当我将其更改为评估ID时,我得到了错误。也许和主键有关?在SQL Server Management Studio 2005中,
public Int16 GetAssessmentNo(string AssessmentName_In_GetAssessmentNo)
{
Int16 Num = (from a in contxt.View_AssessmentCount
where a.AssessmentName == AssessmentName_In_GetAssessmentNo
select a.AssessmentID).FirstOrDefault();
return Num;
}
AssessmentID
必须为可空列。如果您知道它实际上不是空的,那么您应该能够选择AssessmentID.Value
。如果它可以为空,那么您需要将它分配给一个可为空的short
(short?
),并检查它是否有值。在DB值为空的情况下,也可以使用空合并运算符返回默认值。
public short GetAssessmentNo(string AssessmentName_In_GetAssessmentNo)
{
short? num = (from a in contxt.View_AssessmentCount
where a.AssessmentName == AssessmentName_In_GetAssessmentNo
select a.AssessmentID).FirstOrDefault();
return num ?? (short)-1;
}