【发布时间】:2020-11-12 03:23:28
【问题描述】:
我正在尝试使用以下模型运行动态查询:
public class Index
{
public long Position { get; set; }
public object[] Values { get; set; }
}
还有这样的数据样本:
var indexes = new Dictionary<long, Index>();
indexes.Add(1, new Index { Position = 1000, Values = new object[3] { "Welly", "Chandra", 26 } });
indexes.Add(2, new Index { Position = 1001, Values = new object[3] { "Darma", "Angelo", 25 } });
indexes.Add(3, new Index { Position = 1002, Values = new object[3] { "Abby", "Yeremia", 28 } });
indexes.Add(4, new Index { Position = 1003, Values = new object[3] { "Yonathan", "Gunawan", 22 } });
indexes.Add(5, new Index { Position = 1004, Values = new object[3] { "Aldy", "Santoso", 24 } });
var queryable = indexes.Values.AsQueryable();
var result = queryable.Where("Values[1] = \"Yeremia\" || Values[2] = 24").ToList();
但它总是抛出异常:
System.InvalidOperationException: The binary operator Equal is not defined for the types 'System.Object' and 'System.Int32'.
这里不能使用object数据类型吗?
【问题讨论】:
标签: c# linq dynamic-linq