【发布时间】:2017-07-18 03:41:17
【问题描述】:
我对在 linq to entity 表达式中使用的这段代码有疑问:
int _val = Convert.ToInt32(value);
Expression term1 = Expression.Equal(Expression.Property(Expression.PropertyOrField(bookProperty, "type"), "key"), Expression.Constant("taille", typeof(string)));
Expression temp1 = Expression.Property(bookProperty, "value");
MethodInfo Parse = typeof(int).GetMethod("Parse", new[] { typeof(string) });
Expression term2 = Expression.GreaterThanOrEqual(Expression.Call(Parse, temp1), Expression.Constant(_val, typeof(int)));
conditions = Expression.And(term1, term2);
bookproperty 是一个为其他对象(书)设置属性的对象 该属性的值存储在数据库的“值”字段中。 因为 value 可以存储布尔值、整数、双精度值、文本等。它被设置为字符串。
在这种特殊情况下,我需要将字符串解析为 int。
我认为它不起作用,因为某些值字段存储不可解析的值。
我得到了这个错误:
FormatException: 输入字符串的格式不正确。
但我不知道如何处理。
感谢您的帮助。
【问题讨论】:
标签: c# entity-framework linq expression-trees