Я использую EFCore для поиска в БД.
Когда TValue == DateTime, он не запускается.
/// <summary>
/// 大于或等于
/// </summary>
/// <param name="propertyName"></param>
/// <param name="value"></param>
public void GreaterThanOrEqual<TValue>(string propertyName, TValue value)
{
var prop = type.GetProperty(propertyName);
Expression left = Expression.Property(param, prop);
Expression right = Expression.Constant(value, prop.PropertyType);
Expression result = Expression.GreaterThanOrEqual(left, right);
filter = Expression.And(filter, result);
}
Я вижу косолу, sql равно
SELECT COUNT(*)
FROM [tOrganization] AS [item]
WHERE (1 & CASE
WHEN [item].[CreateTime] >= '2013-02-26T00:00:00.0000000'
THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
END) = 1
но столбец с именем CreateTime - дата-время, а не дата-время2.
как я могу это сделать?