我有一个数据表,其中有一个日期列(RequestDate)。 我需要使用Linq删除RequestDate列中值超过30天的所有行。
答案 0 :(得分:2)
试试这个:
dt.Rows.OfType<DataRow>()
.Where(r => DateTime.Now.Date - r.Field<DateTime>("RequestDate").Date > TimeSpan.FromDays(30))
.ToList()
.ForEach(r => r.Delete());
答案 1 :(得分:0)
您可以使用LINQ查找应删除的行:
var rowsToDelete = source.AsEnumerable()
.Where(r => DateTime.Now - r.Field<DateTime>("RequestDate") > TimeSpan.FromDays(30))
.ToList();
但仍需要foreach
循环来删除源DataTable
中的行:
foreach(var row in rowsToDelete)
source.Remove(row);
答案 2 :(得分:0)
max=4