我有一个数据集,我正在进行linq查询。
var results = dtWorkCenters.AsEnumerable()
.Where(x => x.Field<string>("Work_Center") == theWorkCenter && x.Field<string>("Job") == theJob)
.Select(x => new
{
Operation = x.Field<string>("Job_Operation"),
WorkDate = x.Field<DateTime>("Work_Date"),
Employee = x.Field<string>("Employee"),
SetupHours = x.Field<double>("Act_Setup_Hrs"),
SetupDollars = x.Field<double>("Act_Labor_Dollars"),
RunHours = x.Field<double>("Act_Run_Hrs"),
RunDollars = x.Field<double>("Act_Labor_Dollars")
});
字段Job_Operation是数据库中的字符串int,但可能包含空值。以上语法对空值失败。如何防止数据中的空值?
答案 0 :(得分:1)
我认为您使用null
值时遇到的问题可能是尝试设置值类型(DateTime
和double
)属性(WorkDate
,{ {1}}等){} {}。
如果是这种情况,请在SetupHours
和null
的调用中尝试指定Nullable<DateTime>
和Nullable<double>
作为通用Field
类型1}}像这样:
DateTime?