C# 动态选择不适用于Guid名称属性
我有一节简单的课:C# 动态选择不适用于Guid名称属性,c#,select,dynamic-linq,C#,Select,Dynamic Linq,我有一节简单的课: class MyClass { public Guid Guid { get; set; } } 我有一个包含一项的myClasses查询:newmyclass(){Guid=Guid.NewGuid()} 我正在尝试从查询中选择Guid属性: var result = myClasses.Select($"new(Guid)"); 但它显示出以下例外: System.Linq.Dynamic.ParseException:''或'('预期' 似乎Dynamic
class MyClass
{
public Guid Guid { get; set; }
}
我有一个包含一项的myClasses
查询:newmyclass(){Guid=Guid.NewGuid()}
我正在尝试从查询中选择Guid属性:
var result = myClasses.Select($"new(Guid)");
但它显示出以下例外:
System.Linq.Dynamic.ParseException:''或'('预期'
似乎Dynamic linq
将我的Guid
属性与System.Guid
结构混淆了。我如何解决这个问题
注意:当我重命名属性时它会工作使用时,您有2个选项:
var result=myClasses.Select($“new(it.Guid)”);
var result=myClasses.Select($“new(@Guid)”);
显式使用it
,例如it.Guid
?使用公共linqmyClasses。选择(x=>x.Guid)
?或者如果您喜欢匿名类型:myClasses。选择(x=>new{x.Guid})
?@IvanStoev它是有效的,你能把它作为答案发布吗?很高兴它有帮助。问题是有很多动态LINQ库的构建,都有不同的解析支持(It
,parentIt
,可用的方法等),这就是为什么我不确定它是否有效的原因。请随意发布一个自我回答,并包括有关使用的动态LINQ包的信息。