这是我的caml查询代码,用于在SharePoint 2016内部部署(CSOM)中获取查找字段的值。
<View>
<Query>
<Where>
<Eq>
<FieldRef Name='myLookupField' LookupId='TRUE'/>
<Value Type='Lookup'>18456</Value>
</Eq>
</Where>
</Query>
</View>
尝试删除此部分“ LookupId ='TRUE'”,但仍然出现此异常:“无法完成此操作。请重试。”我在U2U caml查询生成器中运行此caml查询,但它可以工作。
using (ClientContext ctx=new ClientContext("http://sp/sites/dev/"))
{
List list = ctx.Web.Lists.GetByTitle("MyList22");
CamlQuery caml = new CamlQuery();
caml.ViewXml = "<View><Query><Where><Eq><FieldRef Name='myLookupField' LookupId='TRUE'/><Value Type='Lookup'>1</Value></Eq></Where></Query></View>";
ListItemCollection items = list.GetItems(caml);
ctx.Load(items);
ctx.ExecuteQuery();
foreach (ListItem item in items)
{
FieldLookupValue value = item["myLookupField"] as FieldLookupValue;
Console.WriteLine("LookupId: "+ value.LookupId);
Console.WriteLine("LookupValue: "+ value.LookupValue);
}
}