1

2 つの集計列を返す FetchXML クエリがあります。

<fetch distinct='false' mapping='logical' aggregate='true'>
  <entity name='blocktrade'>
    <attribute name='sourceref' alias='trade_count' aggregate='count'/>
    <attribute name='allocationtradecount' alias='alloc' aggregate='sum'/>
    <attribute name='organisation' alias='org' groupby='true'/>
  </entity>
</fetch>

クエリを制限して、allocationtradecount に値を持つオブジェクトを返すようにすると、期待どおりに動作します。ただし、allocationtradecount が null のオブジェクトがある場合、その列は結果に返されません。

すなわち

(int)((AliasedValue)e["alloc_count"]).Value;

失敗します。これは「予想」ですか?null 値を合計するときに 0 が使用されるようにするにはどうすればよいですか?

4

1 に答える 1

-1

このためには、最初にそのレコードに値が含まれているかどうかを確認する必要があります。

次のコードに示すように... int sum に値を割り当てたいと考えてください。

int sum = e.Attributes.Contains("alloc") ? (int)((AliasedValue)e["alloc"]).Value : 0;

上記のコードでは、最初にレコードに値が含まれているかどうかを確認します。含まれている場合は合計が返され、そうでない場合は 0 が返されます。

お役に立てれば。

于 2013-01-30T18:44:09.767 に答える