【发布时间】:2021-05-20 07:39:19
【问题描述】:
我有关于动态 Linq 的问题。 我有一个定义如下的类结构。
public class UserProfile
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public long Overtime { get; set; }
public UserProfileDetails UserProfileDetails { get; set; }
}
public class UserProfileDetails
{
public UserProfileDetails()
{
LstString = new List<string>();
}
public string Department { get; set; }
public double Salary { get; set; }
public int LeaveBalance { get; set; }
public List<string> LstString { get; set; }
}
创建了一个 UserProfile 对象,如下所示。
var a = new UserProfile();
对于普通的 Linq,我可以执行以下操作。我正在尝试查找 UserProfileDetails 中的所有字符串,而我的名字与我的名字不同。
var vvv = a.UserProfileDetails.LstString.Where(x => !x.Equals(a.FirstName)).ToList();
我想将上面的 linq 转换为动态 linq 并使用以下
var vDyna = a.UserProfileDetails.LstString.AsQueryable().Where("!Equals(FirstName)").ToList();
但上面给出了错误: System.Linq.Dynamic.Core.Exceptions.ParseException: 'String' 类型中不存在属性或字段 'FirstName'。 谁能帮我解决这个问题?
【问题讨论】:
标签: c# linq system.linq.dynamic