我希望能够在linq表达式中指定要填充/更新的属性。 以下列方式的东西:
Proxy.UpdateEmployee(List<string> propertiesNames)
Proxy.GetEmployee() //inside the method populate only certain properties
返回值必须是已知类型(不接受匿名类型)。
DLINQ允许通过指定属性的名称进行选择,但结果是IQueryable
接口,我无法AsEnumerable
()它以便之后构建已知类型查询。
答案 0 :(得分:0)
您必须使用反射按名称修改实例属性。 因此,无论您使用LINQ更新对象,都需要执行以下操作:
foreach (string propName in propertiesNames)
{
PropertyInfo prop = this.GetType().GetProperty(propName);
prop.SetValue(valueForProp);
}