我使用的是.net core 6,它支持DateOnly和TimeOnly数据类型。现在,我遇到的问题是我从表(table1)中选择了可为空的TimeOnly列(TimeEnd),这会导致异常:刻度必须介于0和TimeOnly.MaxValue.Ticks之间。(参数“ticks”)
var result = await (from s in _unitOfWork.Context.table1
select new
{
Id = Convert.ToString(s.EventId),
EndTimeC = s.TimeEnd,
DateC = s.Date,
StartTimeC = s.TimeBegin,
Systemmodstamp = s.ModifiedDate}).ToListAsync();
2条答案
按热度按时间djp7away1#
你可以这样试试:
然后将您的响应转换为允许空值的新创建对象:
smdnsysy2#
您应该添加代码
EndTimeC = s.TimeEnd.HasValue ? s.TimeEnd.Value : default(TimeOnly)
来检查TimeOnly
是否为null
,并根据它来处理它。可替换的方式是
EndTimeC = s.TimeEnd.GetValueOrDefault()
。