我有一个 Int64 字段,我想在我的 EF Dynamic Linq 查询中进行转换。这是因为我想使用 teh Contains 函数来检查 Int64 是否包含某个系列的数字。所以我使用 SqlFunctions.StringConvert 之类的
SqlFunctions.StringConvert(MyField).Contains("2012")
动态库引发 ParseException:“SqlFunctions”类型中不存在适用的方法“StringConvert”。
我在动态库中更改了这个数组,以便定义 SqlFunctions:
static readonly Type[] predefinedTypes = {
typeof(Object),
...
typeof(Math),
typeof(Convert),
typeof(EntityFunctions),
typeof(SqlFunctions)
};
奇怪的是:我还添加了 EntityFunctions,效果很好,例如:
EntityFunctions.TruncateTime(LastCommentDate) = @0
更新: SqlFunctions 不支持 Int64:
public static string StringConvert(decimal? number);
public static string StringConvert(double? number);
public static string StringConvert(decimal? number, int? length);
public static string StringConvert(double? number, int? length);
public static string StringConvert(decimal? number, int? length, int? decimalArg);
public static string StringConvert(double? number, int? length, int? decimalArg);