[英]scheduledend field on custom activity in CRM 2011 is being set to null on update
[英]CRM 2011 Custom Workflow Linq Queries providing null values when they are not null
我正在為MS Dynamics CRM 2011編寫自定義工作流。在我的工作流中,我有一個專門用於查詢的類–這是因為我對工作流中的其他方法進行了大量的查詢。 對於我的查詢,我正在使用LINQ。
我在測試中遇到一個問題,我有兩種方法可以退出並獲得不同的選項集值。 如果單獨測試,它們都可以工作。 但是,如果我背對着它們進行測試……獲取此選項設置值……然后獲取此選項設置值:后續查詢始終返回null。
<!-- language: cs -->
public int GetOptionSetValues(WorkFlowHelper workFlowHelper, String bracketId)
{
Guid _bracketId = workFlowHelper.GuidChanger(bracketId);
var query = from b in workFlowHelper.serviceContext.myEntitySet
where b.myEntitySetId.Equals(_bracketId)
select new { b.itemToGetOptionSetFrom };
foreach (var qin query )
{
if (q.itemToGetOptionSetFrom == null)
{
return 0;
}
else
{
int optionSetValue = q.itemToGetOptionSetFrom;
return optionSetValue;
}
}
return 0;
}
除了“ itemToGetOptionSetFromFrom”不同之外,這兩種方法都與上述相同。 我已經檢查了數據庫,並且這些項目確實具有值。
誰能解釋為什么這樣做呢? 還是指出正確的方向來糾正此問題? 謝謝,
我猜您正在檢索具有相同服務上下文的相同對象。 如果從實體請求屬性,則CRMContext
將僅使用那些字段和ID緩存該實體的副本。 這意味着包括該實體的所有后續LINQ請求將返回該實體的緩存副本,該副本僅包含您先前請求的ID和屬性。 為避免這種情況,您可以在發出下一個請求之前,調用ClearChanges()刪除緩存的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.