這是我在FetchXML的FetchXML屬性的屬性...拼搶使用過濾器
<fetch version="1.0" mapping="logical">
<entity name="cs_testparameter" >
<attribute name="cs_testcalculation" />
</entity>
</fetch>
其返回如下:
<resultset morerecords="0">
<result>
<cs_testcalculation name="Addition" formattedvalue="717640000">717640000</cs_testcalculation>
</result>
<result>
<cs_testcalculation name="Subtraction" formattedvalue="717640001">717640001</cs_testcalculation>
</result>
<result>
<cs_testcalculation name="Multiplication" formattedvalue="717640002">717640002</cs_testcalculation>
</result>
<result>
<cs_testcalculation name="Division" formattedvalue="717640003">717640003</cs_testcalculation>
</result>
</resultset>
我想我的篩選結果,因此它只返回TestParameter
例如,testCalculation
屬性名稱等於Addition
的實體。我將如何做到這一點?
我知道我可以使用過濾用數字值...
<fetch version="1.0" mapping="logical">
<entity name="cs_testparameter" >
<attribute name="cs_testcalculation" />
<filter type="and">
<condition attribute="cs_testcalculation" operator="eq" value="717640000" />
</filter>
</entity>
</fetch>
...但我寧可不使用數值,但是,從名字本身,而過濾。這可能嗎?
編輯:最後,我將使用該做這樣的事情......
string fetchQuery = @"--my fetchXML here...--";
FetchExpression fetchTestParameters = new FetchExpression(fetchQuery);
EntityCollection testParameters = context.RetrieveMultiple(fetchTestParameters);
foreach (var testParameter in testParameters.Entities)
{
switch (testParameter.cs_testcalculation["name"])
{
case "Addition":
//do something...
case "Subtraction":
//do something else...
...
}
}
你如何執行你的fetxml?使用retrievemultiple將始終爲您提供results集合,其中retrieve將返回您真正想要的實體xml實體。 –
我不知道使用optionset名稱值獲取結果的任何方式,但是如果您解釋了您爲什麼要使用optionset名稱值獲取結果的目標?任何人都可以爲此提出解決方法。 –
@Shane_Yo我正在使用RetrieveMultiple – kei