嗨,我想用json数据构建选择查询
json数据
{
"Data": [
{
"Name": "Group1",
"Fields": [
{
"Field": "EmployeeSCP.Salary",
"Operator": "lt",
"Value": "50000"
}
],
"Condition": "0"
},
{
"Name": "Group2",
"Fields": [
{
"Field": "EmployeeSCP.Salary",
"Operator": "gt",
"Value": "20000"
}
],
"Condition": "0"
},
],
"groupCondition": 0
}
我的型号
public class ValidationModelData
{
public List<Data> Data { get;set; }
public string groupCondition { get; set; }
}
public class FieldsData
{
public string Field { get; set; }
public string Operator { get; set; }
public string Value { get; set; }
}
public class Data
{
public string Name { get; set; }
public List<FieldsData> Fields { get; set; }
public string Condition { get; set; }
}
使用这个,我想构建像这样的选择查询
select * from EmployeeSCP where salary < 50000 AND salary>20000
有人请告诉我
首先需要反序列化该数据。有一个很棒的库,Json.Net
。
string json = ""; //your json string
var data = JsonConvert.DeserializeObject<ValidationModelData>(json);
然后,您可以使用Linq使用类似SQL的语法选择您喜欢的对象:
var result = from d in data
where d.Name == "TestName"
select d;
您可以使用方法语法实现相同的效果:
var result = data.Where(d => d.Name == "TestName");
PS:我不能举一个salary
的例子,因为给定的类没有这个属性。