我有以下问题。在我的数据库表中,我有一个名为ItemDaysNext的coloum(coloumn是一个整数)。该值永远为空,这没关系....
我想使用此coloumn后面的排序值......
这句话很好:
var query = from item in items
let today = DateTime.Today
let birthday = item.ItemDate
let next = new DateTime(today.Year, birthday.Month, birthday.Day)
let next2 = next < today ? next.AddYears(1) : next
orderby (next2 - today).Days ascending
select item;
但我想将“(next2 - 今天).Days”的结果用于ItemDaysNext,因为我可以更好地排序Listbox,因为我可以绑定值...
此语句不起作用,我成为编译器错误消息(InvalidCastException)
var query = from item in items
let today = DateTime.Today
let birthday = item.ItemDate
let next = new DateTime(today.Year, birthday.Month, birthday.Day)
let next2 = next < today ? next.AddYears(1) : next
orderby (next2 - today).Days ascending
select new { ItemDaysNext = (next2 - today).Days };
如何进行正确的查询????
最好的问候所有答案。
答案 0 :(得分:0)
我可以复制类似于您的问题的唯一方法是使“ItemDate”列可以为空,并在数据库中放置一个空值。这可以通过在null时将生日分配给其他东西来轻松修复,例如:第3行let birthday = item.END_DATE ?? DateTime.MaxValue