据我所知,Where 子句至少有 1 个 Datarow。
我在调用 1) Select 2) DefaultIfEmpty 方法之前检查了 != null 当然,它通过了没有问题。
我也试过用??false 但不知道它工作的确切机制以及如何使用它。
这些列都是可空的。
我不知道这里出了什么问题......整天寻找解决方案..因为我是自学程序员,我真的缺乏基础知识。
dt.AsEnumerable().Where(dr => (dr.Field<string>("name_first_API").Contains("Ibuprofen")
|| dr.Field<string>("name_first_API").Contains("Dexibuprofen")
|| dr.Field<string>("name_first_API").Contains("Naproxen")
|| dr.Field<string>("name_first_API").Contains("Meloxicam"))
&& dr.Field<DateTime>("rx_visitdate").Date >= DateTime.Today.AddYears(-3)).
Select(dr => dr.Field<int>("howlongday_rx")).
DefaultIfEmpty(0).Sum();