我有与动态 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'。任何人都可以帮我解决这个问题吗?