我有DateTime变量
private readonly TimeSpan thirtydays = new TimeSpan(30, 0, 0, 0);
public DateTime RegistrationDate { get; set; }
public DateTime DueDate { get; set; }
和TimeSpan用于计算未来的日期
process.DueDate = DateTime.Now + thirtydays;
在过程生命期间可以更改截止日期。我想列出DueDate发生变化的所有流程。
.Where(d => d.DueDate!=(d.RegistrationDate + thirtydays))
但是我收到了错误
InvalidCastException: Failed to convert parameter value from a TimeSpan to a DateTime.
System.Data.SqlClient.SqlCommand+<>c.<ExecuteDbDataReaderAsync>b__108_0(Task<SqlDataReader> result)
答案 0 :(得分:3)
您可以使用
.Where(d => d.DueDate != d.RegistrationDate.AddDays(30))
在Entity Framework核心中,这被转换为SQL DATEADD
函数。