C# 对象集合的动态linq-目标对象不是ExpandooObject
我尝试根据这些属性的文本命名动态读取属性值。这只适用于嵌套类。 但如果有嵌套的集合类,我希望能够使用动态linq选择一个项。不幸的是,当在集合中读取时,它返回 “目标对象不是ExpandooObject”(.FirstOrDefault) 有没有编辑或其他解决方案的想法 我的代码(.net core 2.1):C# 对象集合的动态linq-目标对象不是ExpandooObject,c#,reflection,.net-core,dynamic-linq,.net-core-2.1,C#,Reflection,.net Core,Dynamic Linq,.net Core 2.1,我尝试根据这些属性的文本命名动态读取属性值。这只适用于嵌套类。 但如果有嵌套的集合类,我希望能够使用动态linq选择一个项。不幸的是,当在集合中读取时,它返回 “目标对象不是ExpandooObject”(.FirstOrDefault) 有没有编辑或其他解决方案的想法 我的代码(.net core 2.1): string value=string.Empty; var dataClassProperty=dataClass.GetType().GetProperty(dataClassPro
string value=string.Empty;
var dataClassProperty=dataClass.GetType().GetProperty(dataClassPropertyName).GetValue(dataClass,null);
if(dataClassProperty是IEnumerable)
{
对象nestedPropertyItem=(数据类属性为IEnumerable)
.AsQueryable()
.FirstOrDefault(CollectionDynamicIQ);
if(nestedPropertyItem!=null)
value=nestedPropertyItem.GetType().GetProperty(nestedPropertyName).GetValue(nestedPropertyItem,null)?.ToString()??“”;
}
如果要在(数据库)实体类上使用动态Linq,可以使用
有了它,您可以轻松编写基于文本的linq,如
var query = db.Customers
.Where("City == @0 and Orders.Count >= @1", "London", 10)
.OrderBy("CompanyName")
.Select("new(CompanyName as Name, Phone)");
var query = db.Customers
.Where("City == @0 and Orders.Count >= @1", "London", 10)
.OrderBy("CompanyName")
.Select("new(CompanyName as Name, Phone)");