我的LINQ查询如下动态LINQ。无属性或字段“字段名”式存在“类名”
Dim Query = From t In New XPQuery(Of xUser)(Xpo.Session.DefaultSession)
.Where("Name=John").Select("new (Name as FirstName)")
不幸的是我得到的错误No property or field 'John' exists in type 'xUser'
当然没有这样的属性在我的XUSER类存在,但热我能解决吗?
的DynamicLinq类内看完之后,我发现这个功能
Function FindPropertyOrField(ByVal type As Type, ByVal memberName As String, ByVal staticAccess As Boolean) As MemberInfo
Dim flags As BindingFlags = BindingFlags.Public Or BindingFlags.DeclaredOnly Or _
If(staticAccess, BindingFlags.Static, BindingFlags.Instance)
For Each t As Type In SelfAndBaseTypes(Type)
Dim members As MemberInfo() = t.FindMembers(MemberTypes.Property Or MemberTypes.Field, _
flags, type.FilterNameIgnoreCase, memberName)
If members.Length <> 0 Then Return members(0)
Next
Return Nothing
End Function
如何编辑我的“故障”查询?我在这里做错了什么?
谢谢你的时间。
如果您尝试将'John'设置为参数而不是直接在字符串中,该怎么办? –
@ Wouter de Kort It works!你可以把它作为答案吗? – OrElse