如何用createdatetime函数创建一个表达式调用
本文关键字:一个 表达式 调用 何用 createdatetime 函数 创建 | 更新日期: 2023-09-27 18:17:38
我正在尝试创建一个具有六个参数函数CreateDateTime
的表达式调用,在表达式中我是初学者,有人帮助吗?呢。
这是我想要得到的结果
m => m.OpenDate >= EntityFunctions.CreateDateTime(2012, 12, 22, 0, 0, 0)
,当我试着写这个,但总是出现一个异常。
Expression.Call(typeof(EntityFunctions), "CreateDateTime",
new Type[]
{
typeof(int?), typeof(int?), typeof(int?),
typeof(int?), typeof(int?), typeof(double?)
},
new Expression[]
{
Expression.Constant(2012),
Expression.Constant(12),
Expression.Constant(22),
Expression.Constant(0),
Expression.Constant(0),
Expression.Constant(0.0)
}
);
DateTime
类已经有一个构造函数,该构造函数接受这些参数来创建DateTime
对象。
这里可以解决
Expression.Call(typeof(EntityFunctions), "CreateDateTime",
new Type[]
{
typeof(int?), typeof(int?), typeof(int?),
typeof(int?), typeof(int?), typeof(double?)
},
new Expression[]
{
Expression.Convert(Expression.Constant(2012),typeof(int?)),
Expression.Convert(Expression.Constant(12),typeof(int?)),
Expression.Convert(Expression.Constant(22),typeof(int?)),
Expression.Convert(Expression.Constant(0),typeof(int?)),
Expression.Convert(Expression.Constant(0),typeof(int?)),
Expression.Convert(Expression.Constant(0.0),typeof(double?)),
}
);