簡體   English   中英

'可為空的 object 必須有一個值。' 用於 LINQ c# 中的 ICollection

[英]'Nullable object must have a value.' for ICollection in LINQ c#

在我的項目中,我試圖制作這個上下文 Object。

securityContext.Engagement = new EngagementContext(
                engagement.EngagementId,
                engagement.GUID,
                engagement.Name,
                null,
                engagement.ClientId,
                engagement.Client?.GUID ?? Guid.Empty,
                engagement.Client?.Name,
                null); 

但是,我不希望第 4 個參數總是 null,而是當 userRoleId 不存在時,我希望它是 null。 作為參考,它在分配時出現了“RoleType”類型的 IEnumerable 項,我嘗試用以下兩行替換第 4 個參數並繼續獲取“System.InvalidOperationException:Nullable object 必須有一個值。”

(engagement.EngagementUsers != null ? engagement.EngagementUsers?.Select(X => (RoleType)X?.RoleId) ?? null : null)

engagement.EngagementUsers?.Select(X => (RoleType)X.RoleId) ?? null,

我怎樣才能更好地解決這個問題?

在我的項目中,我試圖制作這個上下文 Object。

securityContext.Engagement = new EngagementContext(
                engagement.EngagementId,
                engagement.GUID,
                engagement.Name,
                null,
                engagement.ClientId,
                engagement.Client?.GUID ?? Guid.Empty,
                engagement.Client?.Name,
                null); 

但是,我不希望第 4 個參數總是 null,而是當 userRoleId 不存在時,我希望它是 null。 作為參考,它在分配時出現了“RoleType”類型的 IEnumerable 項,我嘗試用以下兩行替換第 4 個參數並繼續獲取“System.InvalidOperationException:Nullable object 必須有一個值。”

(engagement.EngagementUsers != null ? engagement.EngagementUsers?.Select(X => (RoleType)X?.RoleId) ?? null : null)

engagement.EngagementUsers?.Select(X => (RoleType)X.RoleId) ?? null,

我怎樣才能更好地解決這個問題?

暫無
暫無

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

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