2012-10-05 99 views
2

我有一個基本的問題。我需要找到一個字段設置爲特定值的記錄指導。 就像找到其「favouritecolor」屬性設置爲「紅色」的唯一記錄一樣。 (該字段是唯一的,沒有雙重相同的顏色)客戶關係管理2011 - 查找字段的值在C#

我要搜索的記錄不是插件工作的實體類型。

我已經找遍了這個地方,但是隻找到了很多關於獲取剛創建的記錄的Guid的教程,這對我沒有多大幫助。是否應該使用標準的sqlconnection和select語句(如從[table name]中選擇guid,其中favouritecolor ='red'),還是有更美麗的方式?

我會很感激任何指導。

乾杯!

回答

3

終於找到了解決方案。希望這可以幫助某人。 乾杯!

private static Entity getTheRecord(IOrganizationService service) 
    { 
     QueryExpression query = new QueryExpression(); 
     query.EntityName = "NameOfTheEntity"; 
     query.ColumnSet = new ColumnSet() { AllColumns = true }; 

     query.Criteria = new FilterExpression(); 
     query.Criteria.FilterOperator = LogicalOperator.And; 
     query.Criteria.Conditions.Add 
     (
      new ConditionExpression("fieldname", ConditionOperator.Equal, "desiredvalue") 
     ); 
     EntityCollection entities = service.RetrieveMultiple(query); 
     return entities[0]; 
    } 
+1

看起來不錯,我要提的唯一的事情就是在可能的情況下應該避免在ColumnSet上使用AllColumns = true。這意味着所有的列都會被返回(即使你實際上不會使用任何),所以從性能的角度來看,你可以節省一些時間。 –

+0

ColumnSet cols = new ColumnSet(new string [] {「wantedcolumn1」,「wantedcolumn2」,...}); 感謝您指出這一點,像這樣的列集應該更好地工作。乾杯! – tdgtyugdyugdrugdr

相關問題