簡體   English   中英

Dynamics 365 FakeXrm“用戶設置”實體錯誤

[英]Dynamics 365 FakeXrm "usersettings" entity error

我的 Dynamics 365 插件中有這段代碼,

 private int? RetrieveCurrentUsersSettings(IOrganizationService service)
    {
        var currentUserSettings = service.RetrieveMultiple(
            new QueryExpression("usersettings")
            {
                ColumnSet = new ColumnSet("timezonecode"),
                Criteria = new FilterExpression
                {
                    Conditions =
                    {
                        new ConditionExpression("systemuserid", ConditionOperator.EqualUserId)
                    }
                }
            }).Entities[0].ToEntity<Entity>();

        return (int?)currentUserSettings.Attributes["timezonecode"];
    }

我正在用 FakeXrm 為它編寫一個 UnitTest,在調試時我在這個查詢表達式中遇到錯誤。

這是我的假 Xrm 代碼。

  Entity systemUser = new Entity("systemuser");
        systemUser.Id = Guid.NewGuid();

        Entity userSettings = new Entity("usersettings");
        userSettings.Id = Guid.NewGuid();
        userSettings["timezonecode"] = 71;
        userSettings["systemuserid"] = systemUser.ToEntityReference();

        fakedContext.Initialize(new List<Entity>()
        {
            workOrder, owner, invoiceNote, userSettings
        });

問題是,如何在 FakeXrm 中創建usersettings實體並為其提供適當的屬性。

我很高興您按照我的建議在 StackOverflow 上提問。

無論如何,您應該指出您在 GitHub 上的FakeXrmEasy存儲庫上提出了相同的問題,並且在那里提供了此答案的解決方案。

長話短說,你的 UnitTest 的問題是你缺少fakedContext.CallerId = systemUser.ToEntityReference(); 這是必需的,因為您在查詢中使用了ConditionOperator.EqualUserId

最好的問候,貝蒂姆貝賈。

我找到了解決辦法

           Entity systemUser = new Entity("systemuser");
            systemUser.Id = Guid.NewGuid();
            fakedContext.CallerId = systemUser.ToEntityReference();
            IOrganizationService service = fakedContext.GetOrganizationService();
            Entity userSettings = new Entity("usersettings");
            userSettings.Id = Guid.NewGuid();
            userSettings["timezonecode"] = 71;
            userSettings["systemuserid"] = systemUser.ToEntityReference();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM